2016-09-29 77 views
1

我有一个对象lodash值对象数组固定键

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

我需要将其转换为以下:

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

key在最终对象是固定的。

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

回答

1

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

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

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

 
console.log(newObj);

+0

这是伟大的lodash版本!你认为哪一个更快/更便宜? @Season用lodash或这个贴出来的那个? –

+0

我没有检查,但如果他们在相同(或更少)的代码量下执行相同的操作,我总是更喜欢在库中构建js函数。 @DushyantBangal – baao

+0

你能帮我这个吗?: http://stackoverflow.com/questions/39774303/lodash-mapping-keys-from-one-object-with-values-in-array-of-objects –

0

下面是一个

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

Can你帮我这个吗? http://stackoverflow.com/questions/39774303/lodash-mapping-keys-from-one-object-with-values-in-array-of-objects –