2013-11-28 65 views
0

我正在研究骨幹應用程序,並提供了一些示例代碼,提供程序將數據轉換爲for循環,生成一個數字,我不希望這樣。我需要輸入像科比,勒布朗等球員名稱,而不是player_1,player_2。將for循環轉換爲靜態數組?

//generate 20 players 
for(var i=1; i <= 20; i++) { 
    players.add({ 
     id: i, 
     name: 'player_' + i, 
     score: Math.floor((Math.random()*20)+20) 
    }); 
} 

//generate 4 teams, and assign players to them at the same time... 
for(var i=1; i <= 4; i++) { 
    teams.add({ 
     id: i, 
     name: 'team_' + i, 
     players: new App.Collections.Players(players.filter(function(player) { 
      return (player.id <= i*5 && player.id > (i-1)*5); 
     })) 
    }); 
} 

我不知道我怎麼會變成一種靜電連體這個,所以我可以手動輸入玩家姓名(名稱:邁克,名:約翰),不是當然的格式,但我不想(名稱:PLAYER_1,名稱:player_2)。

我console.logged teams.toJSON()我得到的控制檯中的對象,但我不知道如何獲得原始的JSON數據,所以我可以看到如何構造硬編碼的JSON數組。

+0

循環一個名稱數組而不是數字? – elclanrs

+0

這確實跨過了我的想法,但我對JavaScript很新,我不確定如何創建一個名稱數組然後將其實施到循環中......這可能是問題本身,但我不介意靜態寫它。我對所有解決方案都很開放,如果你可以提供一個樣本,也許是一個小提琴,將它作爲答案發布,那麼我可以授予你獎勵。 –

+0

'names = ['mike','john']; for(var i = 0; i elclanrs

回答

2

從您的意見是什麼我瞭解,你需要寫

names=['mike','john']; 
for(var i=0; i < names.length; i++) { 
    players.add({ 
     id: i, 
     name: 'player_' + names[i], 
     score: Math.floor((Math.random()*20)+20) 
    }); 
} 

就像你必須給索引號從陣列獲取特定元素的其他語言。

+1

我更新了答案,在初始代碼中'i'從1開始,但數組索引以0開始,所以我改變了循環 – muneebShabbir

+1

感謝您的簡單點。 –