问题
I am looking for best ways of doing this. I have two arrays:
key = [1,2,3];
value = ['value1', 'value2', 'value3']
The end result I want is an array of map:
[{key: 1, value: 'value1'} ,{key: 2, value: 'value2'}, {key: 3, value: 'value3'}]
How do I do it the most efficient/clean way using lodash? Thanks!
回答1:
I think your question is answered 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>
回答2:
Here's what you need
_.zipObject(key, value);
Actually ... no.
Pure Javascript can though:
var result = key.map(function(val, index){
return { key: val, value: value[index] };
});
来源:https://stackoverflow.com/questions/37199159/how-to-merge-two-arrays-into-a-object-using-lodash