将JavaScript对象键转换为键控对象数组

时间:2014-09-11 20:45:30

标签: javascript underscore.js

如何转换以下JavaScript结构:

{
   "product_1": {
        "description": "Paper Towel",
        "type": "homecare",
        "override": true
    },
    "product_2": {
        "label": "Santa Claus statue",
        "type": "seasonal",
        "override": false
    },
    "product_3": {
        "label": "G.I. Joe action figure",
        "type": "toy",
        "override": true
    }
}

要:

[
    {
        "product_1": {
            "description": "Paper Towel",
            "type": "homecare",
            "override": true
        }
    },
    {
        "product_2": {
            "label": "Santa Claus statue",
            "type": "seasonal",
            "override": false
        }
    },
    {
        "product_3": {
            "label": "G.I. Joe action figure",
            "type": "toy",
            "override": true
        }
    }
]

我有 underscore.js 可用,如果可以帮助的话。

1 个答案:

答案 0 :(得分:2)

使用_.map()迭代对象,将每个子对象收集到一个数组中。

var array = _.map(obj, function (value, key) {
    var new_obj = {};
    new_obj[key] = value;
    return new_obj;
});

DEMO