2016-12-29 150 views
1

我有一些数据正在推向数组。如何每次使用循环将数据推送到不同的数组?

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

比方说,第一个数组是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,我需要推到数组:“PLAYER1”。当y是2时,我需要推动阵列:“player2”等。也许我可以有100名球员,如果我想。

如何在JavaScript中执行此操作?

+1

保存所有的球员在一个数组或对象,以及?长度然后会告诉你有多少玩家。 – Shilly

+0

谢谢大家的答案。 – Ivelin

回答

3

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

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

创建你想要的所有玩家对象以及y和每个玩家对象的索引之间的映射。

`

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

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

`

以上就是创建一个地图....一旦你的地图被创建时,你可以从你的地图基于Y的值来选择值的例子你循环。

map[y].push(...) 
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)) 
    } 
    } 
} 
相关问题