如何在数组中推送对象?

时间:2014-04-02 07:28:54

标签: javascript arrays object

我试图将数组推入一个对象,但我总是错误。

fCElements = [],
obj = {};

obj.fun = myFunction;
obj.id = 2;

fCElements.push ({

   obj,
   myid:2,
   name:'klaus'     

})

我如何能够进入像#34; myFunction"这样的数组函数?

由于

3 个答案:

答案 0 :(得分:6)

在Object literal中,您只能提供键值对。您的obj没有任何价值。

相反,你可以这样做

var fCElements = [];
fCElements.push({
    obj: {
        fun: myFunction,
        id: 2
    },
    myid: 2,
    name: 'klaus'
});

现在,您正在动态创建一个新对象obj,同时推送到阵列。现在,您的fCElements看起来像这样

[ { obj: { fun: [Function], id: 2 }, myid: 2, name: 'klaus' } ]

答案 1 :(得分:4)

您需要为您的obj属性命名(或值)。

var obj = {};

obj.fun = myFunction;
obj.id = 2;

fCElements.push ({

   obj:obj,
   myid:2,
   name:'klaus'     

});

答案 2 :(得分:0)

您推送到阵列的对象似乎已关闭。它会尝试推送这个对象:

{
    {fun: myfunction, id: 2},
    myid: 2,
    name: 'klaus'
}

这是一个无效的对象,因为第一个值没有键。你应该这样做:

fCElements.push ({
   myObj:obj,
   myid:2,
   name:'klaus'     
});