lodash单个对象的值到具有固定键的对象数组

时间:2016-09-29 09:57:07

标签: arrays node.js underscore.js lodash

我有一个对象

{
    key1:'val1',
    key2:'val2',
    key3:'val3',
    key4:'val4'
}

我需要将其转换为以下内容:

[
    {key:'val1'},
    {key:'val2'},
    {key:'val3'},
    {key:'val4'}
]

最终对象中的key是固定的。

我如何使用lodash或下划线?我知道我可以使用_.values然后使用forEach,但不知何故感觉不对。

2 个答案:

答案 0 :(得分:1)

不需要lodash或下划线。只需映射Object.keys()

即可

var obj = {
    key1:'val1',
    key2:'val2',
    key3:'val3',
    key4:'val4'
};

var newObj = Object.keys(obj).map(function (k) {
    return {
  	key: obj[k]
    }
});

console.log(newObj);

答案 1 :(得分:0)

以下是lodash版本

_.map({
    key1: 'val1',
    key2: 'val2',
    key3: 'val3',
    key4: 'val4'
}, function( value ) { return { key: value }; } );