将一个assoc对象推入数组

时间:2014-04-26 02:11:11

标签: javascript

我说这个:

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}); 

但它不起作用。

2 个答案:

答案 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原则和语法会帮助你。我建议的一些好资源是CodeSchoolCodeAcademy