1

我有一个看起来像这样的数组

[{
    "Inventory": {
        "dashboard_id": "Inventory",
        "filter_by": "Location",
        "yAxis": "Quantity",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    },
    "Quality": {
        "dashboard_id": "Quality",
        "filter_by": "Location",
        "yAxis": "SampleNo",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    }
}]

我需要为每个对象添加更多值。如何添加到现有数组,使其看起来像这样

{
    "Inventory": [{
        "dashboard_id": "Inventory",
        "filter_by": "Location",
        "yAxis": "Quantity",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    }, {
        "dashboard_id": "Inventory",
        "filter_by": "Location",
        "yAxis": "Quantity",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    }],
    "Quality": {
        "dashboard_id": "Quality",
        "filter_by": "Location",
        "yAxis": "SampleNo",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    }
}

我使用添加到数组中nestedData[dashId] = data;

其中 dashId 由Quality、“库存”等组成。

数据是

{
    "dashboard_id": "Inventory",
    "filter_by": "Location",
    "yAxis": "Quantity",
    "title": "",
    "chart_type": "-------Select-------",
    "mainchart": "Yes"
}
4

1 回答 1

4

使用文字语法构建一个新Object的,其中包含所需的数组并将源数组中的对象分配给对象中的相应属性。

var arr = [{
    "Inventory": {
        "dashboard_id": "Inventory",
        "filter_by": "Location",
        "yAxis": "Quantity",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    },
    "Quality": {
        "dashboard_id": "Quality",
        "filter_by": "Location",
        "yAxis": "SampleNo",
        "title": "",
        "chart_type": "-------Select-------",
        "mainchart": "Yes"
    }
}];

var obj = {Inventory:[arr[0].Inventory], Quality:[arr[0].Quality]};
obj.Inventory.push({
    "dashboard_id": "Inventory",
    "filter_by": "Location",
    "yAxis": "Quantity",
    "title": "",
    "chart_type": "-------Select-------",
    "mainchart": "Yes"
});

console.log(obj);

工作示例:http: //jsfiddle.net/vJjSX/

于 2013-07-15T09:00:16.583 回答