2016-09-29 97 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 –