2010-03-12 79 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}]}