2016-12-29 151 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)) 
    } 
    } 
} 
相關問題