我试图将数组推入一个对象,但我总是错误。
fCElements = [],
obj = {};
obj.fun = myFunction;
obj.id = 2;
fCElements.push ({
obj,
myid:2,
name:'klaus'
})
我如何能够进入像#34; myFunction"这样的数组函数?
由于
答案 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'
});