我的要求如下:
Item1- Orange color 3 pic Pink color 5 pic Item2- White color 9 pi Black color 8 pic
我想创建一个对象并动态推送Items。 我试过
var data = {items: [
{id: "1", Color: "Orange", Qty: "3"},
{id: "2", Color: "Yellow", Qty: "2"},
]};
但我无法添加项目的多种颜色。
答案 0 :(得分:0)
使用此:
var data = {item1: [],item2: []};
//pushing to item1
data.item1.push({id: "1", Color: "Orange", Qty: "3"});
data.item1.push({id: "2", Color: "Yellow", Qty: "2"});
//pushing to item2
data.item2.push({id: "1", Color: "Orange", Qty: "3"});
data.item2.push({id: "2", Color: "Yellow", Qty: "2"});
答案 1 :(得分:0)
如果我理解你的意思,你有几个项目,每个项目有几个品种。在这种情况下,这是正确的结构:
var items = [
{
id: 1,
variety: [
{color: 'orange', qty: 3},
{color: 'pink', qty: 5}
]
},
{
id: 2,
variety: [
{color: 'white', qty: 9},
{color: 'black', qty: 8}
]
}
];
要推送数据,您必须以这种方式使用push()
原型的Array
方法:
// Pushing items
items.push({
id: 3,
variety: [
{color: 'red', qty: 1}
]
});
// Pushing varieties
items[2].variety.push({color: 'green', qty: 6});
之前操作的结果以这种方式设置items
:
var items = [
{
id: 1,
variety: [
{color: 'orange', qty: 3},
{color: 'pink', qty: 5}
]
},
{
id: 2,
variety: [
{color: 'white', qty: 9},
{color: 'black', qty: 8}
]
},
{
id: 3,
variety: [
{color: 'red', qty: 1},
{color: 'green', qty: 6}
]
}
];