我正在尝试使用循环计数器动态创建对象。 并希望在命名对象时使用计数器本身。最终结果将是一个像这样的玩家数组:
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)
关于javascript - 使用循环计数器如何动态创建对象并使用计数器命名对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38668144/