javascript - 用数组存储对象的属性

标签 javascript

我有一个数组,我想用它来存储属性。

例如:

player[0].name = bla1;
player[0].money = 130;

现在我创建了 for 循环,但是当我尝试在其中存储名称时,出现错误。

   var player = [];
   for(i=0; i < players; i++)
   {
     var x = i + 1;
     var nickName = document.getElementById('player' + x + 'name').value
     player[i].name = nickName;
     console.log(player[i].name);
   }

当我尝试添加属性时出现错误:

 player[i].name = nickName;
 console.log(player[i].name)

最佳答案

首先没有长度,所以我不确定你到底要循环什么

for(i=0; i < players; i++)  <--

如果索引未定义,则需要将对象添加到空索引中。

player[i] = player[i] || {};  //If there is no player defined, add an object
player[i].name = nickName;

关于javascript - 用数组存储对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42957565/

相关文章:

javascript - React 中实际应该渲染的内容

javascript - 在 Jquery 中总结和分组 JSON 对象

javascript - 将包含对象的默认选项与 JSON 对象合并

javascript - 调整窗口大小时无法阻止 div 下拉

javascript - 在 JavaScript 中作为参数而不是字符串传递的数组的意外行为

javascript - Foundation 6 offCanvas 程序化关闭

javascript - 如何在不同的目标jQuery上创建独立的函数?

javascript - Mongoose isModified 和 isNew

javascript - 计算日期差异,获取小时、分钟和秒的差异 - 最好通过 js,否则 moment.js

javascript - 捕获 html5 地理定位事件