Lodash合并数组与字典对象键值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lodash合并数组与字典对象键值相关的知识,希望对你有一定的参考价值。
我有一个阵列
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
DEMO
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()
创建对象数组。您可以使用computed property names指定密钥名称:
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);
以上是关于Lodash合并数组与字典对象键值的主要内容,如果未能解决你的问题,请参考以下文章