Reputation: 3200
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!
Upvotes: 3
Views: 7348
Reputation: 41
I think your question is answered here.
const key = [1,2,3];
const value = ['value1', 'value2', 'value3']
const output = _.zipObject(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>
Upvotes: 3
Reputation: 5392
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] };
});
Upvotes: 3