如何向JavaScript对象添加键值

3

我正在尝试学习JS。它看起来很简单,但我不确定如何做到这一点。

根据此贴,有以下基于JavaScript的对象:

var people = {
  1: { name: 'Joe' },
  2: { name: 'Sam' },
  3: { name: 'Eve' }
};

如何添加以下值

4: { name: 'John' }

要获取Eve的名称,我写下:

people["3"].name

这是JSON表示法:http://json.org/ - Fabien Ménager
在原始线程中,键是稀疏的(1、3、8),不是连续的(1、2、3),因此我不知道所有建议切换到数组是否符合问者的要求。 - Nosredna
2个回答

15

按照任何其他值的方式将匿名对象分配给它。

people["4"] = { name: 'John' };

就算这只是一点小建议,由于你的键是数字,你也可以使用从零开始的索引并将"people"变成数组。

var people = [ { name: 'Joe' },
               { name: 'Sam' },
               { name: 'Eve' } ];

并且

alert( people[2].name ); // outputs Eve
people[3] = { name: 'John' };

1

我认为人们应该是一个数组:

var people = [
  { name: 'Joe' },
  { name: 'Sam' },
  { name: 'Eve' }
];

由于这些键是整数,因此您可以通过以下方式添加一个人:

people.push({name:'John'});

你可以通过以下方式访问人员:

var somebody = people[1]; /// >>> Sam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接