Iam試圖推入一個對象的數組,但我總是犯錯誤。如何推送數組中的對象?
fCElements = [],
obj = {};
obj.fun = myFunction;
obj.id = 2;
fCElements.push ({
obj,
myid:2,
name:'klaus'
})
我該如何推入像「myFunction」這樣的數組函數?
謝謝
Iam試圖推入一個對象的數組,但我總是犯錯誤。如何推送數組中的對象?
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
,在飛行,同時推到陣列。現在,你的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'
});
什麼錯誤沒有你的GET –
語法錯誤:無效的對象初始化 \t fCElements.push({ 的ReferenceError:初始化沒有定義 – user3485065
你有一個語法錯誤,你的對象字面量,所以代碼不會被執行,很可能在同一個代碼塊中有另外一個名爲'init'的東西,它不會被創建,並且錯誤來自其他一些代碼。 – Guffa