繁体   English   中英

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

[英]Shift() elements from an array and push() into another

我正在尝试做一些类似画卡的事情。

我有一个包含 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));
    }
  }
}

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

它说玩家没有定义......我应该怎么写?

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

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));
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM