在 JavaScript 中向对象数组添加键值对?

16

假如我有一个如下的数组:

var myarray = [];

myarray.push({
    "Name": 'Adam',
    "Age": 33
});

myarray.push({
    "Name": 'Emily',
    "Age": 32
});

这给了我一个数组,可以像myarray [0] .Name一样提取值,这将给我“Adam”。

但是,在构建此数组之后,如何在位置[0]处添加一个具有值“somehwere street”的“address”字段,以便在位置零处的对象中我的字段现在为NameAgeAddress ,分别具有相应的值?

我想到了splice(),但找不到使用对象的示例,只有使用简单数组的示例。


2
为什么不能这样做 myarray[0].address = "somewhere street" - haim770
2个回答

27
你可以随时添加属性(“字段”)。
尝试一下。
myarray[0].Address = "123 Some St.";

或者
myarray[0]["Address"] = "123 Some St.";

var myarray = [];

myarray.push({
    "Name": 'Adam',
    "Age": 33
});

myarray.push({
    "Name": 'Emily',
    "Age": 32
});

myarray[0]["Address"] = "123 Some St.";

console.log( JSON.stringify( myarray, null, 2 ) );


9

随着像

单一值
myarray[0].address = "your address";

您甚至可以像下面这样动态添加嵌套属性:
myarray[0].address = { presentAddress: "my present address..." };

获取值的方法是 myarray[0].address.presentAddress;


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