这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
这是我的对象文字:
var obj = {key1: value1, key2: value2};
如何将值为3的字段key3添加到对象中?
当前回答
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;
其他回答
下一个Javascript规范(候选阶段3)中简短而优雅的方式是:
obj={…obj,…{key3:value3}}
在Object spread vs Object.assign和Axel Rauschmayers博士的网站上可以找到更深入的讨论。
自8.6.0版以来,它已经在node.js中运行。
最新版本的Vivaldi、Chrome、Opera和Firefox也知道这个功能,但Mirosoft直到今天才知道,无论是在Internet Explorer还是Edge中。
为了给对象添加键值对,以便for In与该元素一起使用,请首先执行以下操作:
var nwrow = {'newkey': 'value' };
for(var column in row){
nwrow[column] = row[column];
}
row = nwrow;
示例显示的是对象,而不是数组。在这种情况下,将字段添加到Object的首选方法是只分配给它,如下所示:
arr.key3 = value3;
如果在一个Object中有多个匿名Object文本,并希望添加另一个包含键/值对的Object,请执行以下操作:
Firebug对象:
console.log(Comicbook);
返回:
[对象{name=“Spiderman”,值=“11”},对象{name=“Marsiplami”,value=“18”},对象{name=“Garfield”,value=“2”}]
代码:
if (typeof Comicbook[3]=='undefined') {
private_formArray[3] = new Object();
private_formArray[3]["name"] = "Peanuts";
private_formArray[3]["value"] = "12";
}
将对象{name=“Peanuts”,value=“12”}添加到Comicbook对象
arr.key3 = value3;
因为你的arr不是一个数组。。。这是一个原型对象。真正的数组应该是:
var arr = [{key1: value1}, {key2: value2}];
但这仍然不正确。实际上应该是:
var arr = [{key: key1, value: value1}, {key: key2, value: value2}];