如何使用lodash将两个数组合并到一个对象中

时间:2016-05-12 23:44:47

标签: javascript lodash

我正在寻找最好的方法。 我有两个数组:

key = [1,2,3];
value = ['value1', 'value2', 'value3']

我想要的最终结果是一个map数组:

[{key: 1, value: 'value1'} ,{key: 2, value: 'value2'}, {key: 3, value: 'value3'}]

如何使用lodash以最有效/最干净的方式进行操作? 谢谢!

2 个答案:

答案 0 :(得分:3)

我认为您的问题已经回答here



const key = [1,2,3];
const value = ['value1', 'value2', 'value3']

const output = _.zipWith(key, value, (key, value)=> ({ key, value }));

console.log(output);
/*
[
  {
    "key": 1,
    "value": "value1"
  },
  {
    "key": 2,
    "value": "value2"
  },
  {
    "key": 3,
    "value": "value3"
  }
]
*/

<script src="https://cdn.jsdelivr.net/lodash/4.16.6/lodash.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

这就是你需要的东西

_.zipObject(key, value);

实际上......不。

纯Javascript可以:

var result = key.map(function(val, index){
  return { key: val, value: value[index] };
});