Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在数组中推送对象?_Javascript_Arrays_Object - Fatal编程技术网

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
的代码不会被创建,而该错误来自于其他代码预期的错误。