简体   繁体   中英

How to push an object in an Array?

Iam trying to push in array an object, but I get always error.

fCElements = [],
obj = {};

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

fCElements.push ({

   obj,
   myid:2,
   name:'klaus'     

})

how I can push into array functions like "myFunction"?

Thanks

In the Object literal, you can only give key-value pairs. Your obj doesn't have any value.

Instead, you can do like this

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

Now, you are creating a new object, obj , on the fly, while pushing to the array. Now, your fCElements look like this

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

You need to give your obj property a name (or a value).

var obj = {};

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

fCElements.push ({

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

});

The object you are pushing to the array seems off. It will try to push this object:

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

Which is an invalid object since the first value has no key. You should do it like this instead:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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