2013-05-14 76 views
0

我想在javascript中創建一個包含其他對象數組的對象。 即對象的javascript數組成員

var xobj = { 
    d: 0, 
    e: 0, 
    f: 0 
}; 

var topObj = { 
    x: [], 
    a: 0, 
    b: 0, 
    c: 0 
}; 

topObj.x[0].d = 1; 
topObj.x[0].e = 2; 
var xx = topObj.x[0].d + topObj.x[0].e; 

console.log(xx); 

我想topObj.x是的xobj陣列。

我越來越:

Uncaught TypeError: Cannot set property 'd' of undefined

回答

3

你可以做到這一點,但你必須填充對象的實例數組(xobj):

topObj.x.push(xobj); 
+0

Yeap,工作。我想我有一個後續問題:有沒有辦法將對象數組聲明爲另一個對象的屬性? – gene 2013-05-14 05:07:49

+0

是的,您可以將「x」初始化爲某個現有的數組對象而不是空數組。 – TGH 2013-05-14 05:14:29

+0

謝謝@tgh。 – gene 2013-05-14 17:25:17

0

,如果你想在短短的值將xobj附加到陣列我會創建類似這樣的東西

for (prop in xobj) { 
    topObj.x.push(xobj[prop]) 
}