簡體   English   中英

Lodash 合並數組與字典對象鍵值

[英]Lodash merge array with dictionary object key values

我有一個數組

var keys = ['Name','Id'];

我想與下面的字典對象合並

var projects = {
 "project1": "11111",
 "project2": "22222",
 "project3": "33333",
 };

產生下面的輸出

output =
[
{ Name:"project1", Id:"11111"},
{ Name:"project2", Id:"22222"},
{ Name:"project3", Id:"33333"},
]

我試過使用

console.log(_.zipObject(keys, projects));

但這不幸地失敗了

我如何使用 lodash 做到這一點?

由於您已要求專門使用lodash ,因此您可以使用_.map

演示

 var projects = { "project1": "11111", "project2": "22222", "project3": "33333", }; var result = _.map(projects, function(value, prop) { return { Name: prop, id: value }; }); console.log(result);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.2/lodash.min.js"></script>

使用Object.keys()Array.map()創建對象數組。 您可以使用計算屬性名稱分配鍵名稱

 var keys = ['Name','Id']; var projects = { "project1": "11111", "project2": "22222", "project3": "33333", }; var result = Object.keys(projects) .map(function(k) { return { [keys[0]]: k, [keys[1]]: projects[k] }; }); console.log(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM