我正在尝试使用循环计数器动态创建对象。并希望在命名对象时使用计数器本身。最终结果将是像这样的一系列玩家:
players = [
p1: {
//some data like age, score etc.
},
p2: {
//some data like age, score etc.
},
p3: {
//some data like age, score etc.
}
]
但是我下面的简单代码无法正常工作。
var numPlayers = 3;
var p;
var player = {
rollDice : function(){
console.log('i am rolling the dice');
},
age: function(){
console.log("My name is " + this.age);
},
score:0
}
for(i=0;i<numPlayers;i++){
var p + i = Object.create(player);
console.log('player ' + p + i + " created!");
}
问题是这一行:
var p + i = Object.create(player);
我已经尝试了各种方法来使它像
var 'p' + i = Object.create(player);
如何做到这一点?
var players = {}
for(var i=0; i<numPlayers; i++){
players['p' + i] = Object.create(player);
console.log('player ' + ('p' + i) + " created!");
}
// var p; <-- not necessary
现在,您有了一个关联的玩家阵列。如果这样做,您将看到此列表的所有键:
Object.keys(players)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句