Shift()元素从数组和push()到另一个

时间:2015-06-28 02:47:00

标签: javascript html arrays

我正在尝试做抽奖卡。

我有一个包含52个元素的数组(deck []),我想删除前13个元素并将它们放入另一个数组,比如说player1 []。

然后删除接下来的13个元素并将它们放入player2 [] ......依此类推。

我这样做了:

var deck = [], player1 = [], player2 = [], player3 = [], player4 = [];

function distributeCards(){
  for(var i = 1; i < 5; i++){               
    for(var j = 0; j < 13; j++){
      player+i.push(deck.shift(j));
    }
  }
}

数组变量在外部声明,因为我必须在其他函数中访问它们。

它说播放器没有定义......我应该怎么写这个?

1 个答案:

答案 0 :(得分:1)

你不能用它来组成变量名。相反,你应该考虑使用数组来存储玩家的牌,这样你就可以像这样动态地引用每个玩家的牌组:

var deck = [];
var numOfPlayers = 4;
var players = new Array(numOfPlayers);

function distributeCards(){
  for(var i = 0; i < numOfPlayers; i++){ 
    players[i] = [];              
    for(var j = 0; j < 13; j++){
      players[i].push(deck.shift(j));
    }
  }
}