我说这个:
var user = [{'id':1,'gender':'male'},{'id':2,'gender':'female'}]
我想使用push()来插入
'owner':true
进入第一个数组,使它变得像这样
var user = [{'id':1,'gender':'male','owner':true},{'id':2,'gender':'female'}]
我试过
user[0].push({'owner':true});
但它不起作用。
答案 0 :(得分:1)
您没有将对象推入数组,而是将对象推入对象 您可以使用jquery的extend方法执行此操作。
var object = $.extend({}, object1, object2);
答案 1 :(得分:1)
@Kim Gysen为您提供了一个有效的解决方案。我认为你在网格和对象之间的逻辑混淆我只想给你一个解决方案,只使用JavaScript可以帮助你理解这里发生了什么。使用像jQuery这样的库是一种节省时间的好方法,但对我来说,我认为有一个更全面的理解是有帮助的。
user[0]['owner'] = true;
在上面的代码中,您通过第0个索引访问您的数组,在这种情况下是"' id':1"并使用Bracket Notation为其添加新属性。另一种方法是使用Dot Notation:
user[0].owner = true;
考虑向对象添加属性的过程:
var myObj = {};
myObj['newKey'] = "I'm a new value";
myObj['newKey2'] = "I'm an even newer value!";
我给你答案的原因是使用jQuery似乎很方便但是从长远来看,理解JavaScript原则和语法会帮助你。我建议的一些好资源是CodeSchool和CodeAcademy