baixueaiaide2008
2015-03-13 09:22
采纳率: 100%
浏览 1.6k

jquery,数组关于的问题

$(document).ready(function(){
function card(name, suit, value){
this.name = name;
this.suit = suit;
this.value = value;
}

    var deck = [
    new card('Ace', 'Hearts', 11),
    new card('Ace', 'Diamonds', 11)
    ...//这里存放了52张牌。
    ]

function getRandom(num){
    var my_num = Math.floor(Math.random()*num);
    return my_num;
}

var used_cards = new Array();

function hit(){
    var good_card = false;
    do{
        var index = getRandom(52);

        if( !$.inArray(index, used_cards ) > -1 ){
            good_card = true;
            var c = deck[index];
            used_cards[used_cards.length] = index;//这句话说的是什么?干什么用的?

    }while(!good_card);
    good_card = false;    
}

});

关于used_cards[used_cards.length] = index;主要是想问[]中放的是什么?
used_cards.length这个是0吗?因为空数组?

把数组used_cards中,这个[used_cards.length]位置的值设置为index又是为什么呢?
used_cards[used_cards.length] = index;这句话到底能得到什么?

为什么要有good_card = false; 这句话呢?它是干什么用的?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2015-03-13 10:29
    已采纳

    used_cards存放使用过的牌
    index用来存放一个随机数,随机取得一张牌
    good_card 用来表示循环中有没有找到,如果没有找到继续找,否则停止。
    整个程序实现了洗牌。

    点赞 打赏 评论
  • Cchuying 2016-04-09 15:21

    used_cards[used_cards.length] = index; 就是将抽取的那张牌的索引号增加到已用过的牌的数组当中
    used_cards.length 最初是0,因为还没有抽牌;
    used_cards中,这个[used_cards.length]位置的值设置为index,是为了把当前这个牌加到已用过的数组当中,
    一开始是空数组所以就是,used_cards[0] = c,
    抽了第一张牌之后,数组的长度为1,所以现在是used_cards[1] = c;
    used_cards[used_cards.length] = index;这句话就是为了储存已经抽过的牌,防止重复
    good_card = false; 这句话是为了帮助do while循环语句,一开始将它设置为false,就是初始化,如果if语句里面不满足的话,就是没抽到牌,
    那么它就会执行到抽到牌为止。
    这是我的理解哈哈

    点赞 打赏 评论

相关推荐 更多相似问题