2

我目前在 JavaScript 中有一个arrayList()调用,在其中我使用以下方法将数据导入它:playerspushplayers.push({name: msg.name, map: msg.map, coords: msg.coords});

这是一个示例数据:{ name: 'weka', map: '5', coords: '12.4' }例如players[0].

这是我正在做的事情:

for (var i = 0; i < players.length; ++i) {
  if (msg.name === players[i].name) {
    console.log("Updating  index ("+i+") player: " + msg.name);
    //players[i].push({name: msg.name, map: msg.map, coords: msg.coords});
  }
}
4

3 回答 3

6
players[i].push({name: msg.name, map: msg.map, coords: msg.coords});

应该

players[i] = {name: msg.name, map: msg.map, coords: msg.coords});

你还没有定义players[i]为一个数组,所以没有什么可以“推动”的。而且我假设您希望更改现有值而不是插入额外的深度。

于 2012-05-16T07:55:15.110 回答
2

players.push({name: msg.name, map: msg.map, coords: msg.coords});没问题,

你所做的是players[i].push({name: msg.name, map: msg.map, coords: msg.coords});players[i]不是一个数组。

于 2012-05-16T07:56:16.593 回答
0

玩家[i] - 是对象({ name: 'weka', map: '5', coords: '12.4' } for example),而不是数组如果你想设置设置道具,只需使用palyers[i]['prop'] = 'prop';

于 2012-05-16T07:56:48.757 回答