我正在尝试做抽奖卡。
我有一个包含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));
}
}
}
数组变量在外部声明,因为我必须在其他函数中访问它们。
它说播放器没有定义......我应该怎么写这个?
答案 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));
}
}
}