2010-03-12 118 views
2

我想用fs對象做的事情就是向fs.items屬性中添加多個「items」。 我該怎麼做?你可以在下面看到我的嘗試,顯然這是行不通的。JavaScript對象問題

我是初學者,去容易對我:)

謝謝...

var fs = { 
    name:'test', 
    items:[] 
}; 

fs.items = { 
    name:'item1', 
    value:1 
}; 

fs.items = { 
    name:'item2', 
    value:2 
} 
+0

菲利普有它 - 爲您的解決方案,你實際上每次都是重新指定items屬性。 – 2010-03-12 15:19:56

回答

10

你可以用 「推」:

fs.items.push({ 
    name:'item1', 
    value:1 
}); 

fs.items.push({ 
    name:'item2', 
    value:2 
}); 

push()功能將添加條目到現有陣列

+0

你們都打敗了我 – mcgrailm 2010-03-12 15:20:03

1
fs.items.push('item1', 'item2'); // fs.items is now ['item1', 'item2'] 
0
var fs = { 
    name:'test', 
    items: 
    [ 
    {name:'item1', value:1}, 
    {name:'item2', value:2} 
    ] 
}; 

換行符的放置當然是任意的。

0
fs.items[0] = { 
    name:'item1', 
    value:1 
}; 

fs.items[1] = { 
    name:'item2', 
    value:2 
} 
1

,如果你想添加一個條目到一個數組,你必須使用.pushitem[...]

fs.items.push({ 
    name:'item1', 
    value:1 
}); 

fs.items['item2'] = { 
    name:'item2', 
    value:2 
}); 
1

如果您知道定義的項目,你可以內嵌他們是這樣的:

var fs = { 
    name:'test', 
    items:[ 
     { name: 'item1', value: 1}, 
     { name: 'item2', value: 2} 
    ] 
}; 

否則您可以使用數組推送功能。

0

甚至...

javascript: 
var fs = { 
    name:'test', 
    items:[] 
}; 

fs.items[fs.items.length] = { 
    name:'item1', 
    value:1 
}; 

fs.items[fs.items.length] = { 
    name:'item2', 
    value:2 
}; 

/*和*/

alert(JSON.stringify(fs)); 

/* *顯示/

{"name":"test","items":[{"name":"item1","value":1},{"name":"item2","value":2}]}