[英]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.