如何使用循环每次将数据推送到不同的数组?

时间:2016-12-29 13:47:31

标签: javascript arrays

我有一些数据可以推送到数组。

我希望有一个循环,每次都将数据推送到不同的数组。

让我们说第一个数组是player1, 第二个数组应该是player2

等。我现在只需要2名球员。

但我很好奇我如何使用尽可能多的玩家来做这件事。

我试图制作国际象棋游戏。这是我的代码到目前为止的样子:

function Figuri() {
  this.player1 = [];
  this.player2 = [];
  figurkiNames.forEach(function(figura) {
  });
  for (var y = 1; y <= 2; y++) {
    for (var i = 0; i < 8; i++) {
      this.player1.push(new Figurka(i, figurkiNames[i], y, i+1, 8))
    }
    for (var i = 8; i < 16; i++) {
      this.player1.push(new Figurka(i, "peshka", y, i-7, 7))
    }
  }
}

y为1时,我需要推送到数组:&#34; player1&#34;。当y为2时,我需要推送到数组:&#34; player2&#34;如果我愿意,也许我可以有100名球员。

我如何在JavaScript中执行此操作?

3 个答案:

答案 0 :(得分:3)

你需要一个动态的玩家列表,然后它非常简单。

response

答案 1 :(得分:0)

创建所需的所有玩家对象以及y与每个玩家对象的索引之间的映射。

`

var map = new Object(); 
map[myKey1] = myObj1;
map[myKey2] = myObj2;

function get(k) {
    return map[k];
}

`

上面是一个创建地图的示例....一旦创建地图,您可以根据循环中y的值从地图中选择值。

map[y].push(...)

答案 2 :(得分:0)

// Code goes here

function Figuri() {
  var players = [],
    playerCount = 10;
  for (var i = 0; i < playerCount; i++)
    players[i] = [];

  figurkiNames.forEach(function(figura) {});
  for (var y = 0; y < playerCount; y++) {
    var currentPlayer = players[y];

    for (var i = 0; i < 8; i++) {
      currentPlayer.push(new Figurka(i, figurkiNames[i], y, i + 1, 8))
    }
    for (var i = 8; i < 16; i++) {
      currentPlayer.push(new Figurka(i, "peshka", y, i - 7, 7))
    }
  }
}