Javascript 如何在数组中推送对象?
我试图在数组中插入一个对象,但总是出错Javascript 如何在数组中推送对象?,javascript,arrays,object,Javascript,Arrays,Object,我试图在数组中插入一个对象,但总是出错 fCElements = [], obj = {}; obj.fun = myFunction; obj.id = 2; fCElements.push ({ obj, myid:2, name:'klaus' }) 我怎样才能插入数组函数,比如“myFunction” 感谢在对象文字中,您只能给出键值对。您的obj没有任何值 相反,你可以这样做 var fCElements = []; fCElements.push
fCElements = [],
obj = {};
obj.fun = myFunction;
obj.id = 2;
fCElements.push ({
obj,
myid:2,
name:'klaus'
})
我怎样才能插入数组函数,比如“myFunction”
感谢在对象文字中,您只能给出键值对。您的
obj
没有任何值
相反,你可以这样做
var fCElements = [];
fCElements.push({
obj: {
fun: myFunction,
id: 2
},
myid: 2,
name: 'klaus'
});
[ { obj: { fun: [Function], id: 2 }, myid: 2, name: 'klaus' } ]
现在,您正在动态创建一个新对象,obj
,同时将其推送到阵列。现在,您的fCElements
如下所示
var fCElements = [];
fCElements.push({
obj: {
fun: myFunction,
id: 2
},
myid: 2,
name: 'klaus'
});
[ { obj: { fun: [Function], id: 2 }, myid: 2, name: 'klaus' } ]
您需要为obj属性指定一个名称(或值)
您推送到阵列的对象似乎已关闭。它将尝试推送此对象:
{
{fun: myfunction, id: 2},
myid: 2,
name: 'klaus'
}
这是一个无效的对象,因为第一个值没有键。您应该这样做:
fCElements.push ({
myObj:obj,
myid:2,
name:'klaus'
});
getSyntaxError发生了什么错误:无效的对象初始值设定项fCElements.push({ReferenceError:init未定义您的对象文本中有语法错误,因此代码将不会执行。很可能您在同一代码块中有另一个名为
init
的代码不会被创建,而该错误来自于其他代码预期的错误。