繁体   English   中英

如何在数组中推送对象?

[英]How to push an object in an Array?

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

fCElements = [],
obj = {};

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

fCElements.push ({

   obj,
   myid:2,
   name:'klaus'     

})

我如何推进像“myFunction”这样的数组函数?

谢谢

在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' } ]

您需要为obj属性指定名称(或值)。

var obj = {};

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

fCElements.push ({

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

});

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM