Reputation: 323
I have following Object.
var response = {
"driving": [
{
"distance": "10,7 km",
"duration": "28 minutes"
},
{
"distance": "9,8 km",
"duration": "25 minutes"
},
{
"distance": "5,8 km",
"duration": "18 minutes"
}
],
"walking": [
{
"distance": "10,4 km",
"duration": "2 heures 10 minutes"
},
{
"distance": "9,8 km",
"duration": "2 heures 2 minutes"
},
{
"distance": "5,7 km",
"duration": "1 heure 11 min"
}
]
}
I would like to convert this object into array of objects like this:
[{"distance":"10,7 km","walking":"2 heures 10 minutes","driving":"28 minutes"},
{"distance":"9,8 km","walking":"2 heures 2 minutes","driving":"25 minutes"},
{"distance":"5,8 km","walking":"1 heure 11 min","driving":"18 minutes"}]
Any idea how can I achieve this using underscore.js?
Upvotes: 1
Views: 445
Reputation: 299
var _ = require('lodash');
var response = {
"driving": [{
"distance": "10,7 km",
"duration": "28 minutes"
}, {
"distance": "9,8 km",
"duration": "25 minutes"
}, {
"distance": "5,8 km",
"duration": "18 minutes"
}],
"walking": [{
"distance": "10,4 km",
"duration": "2 heures 10 minutes"
}, {
"distance": "9,8 km",
"duration": "2 heures 2 minutes"
}, {
"distance": "5,7 km",
"duration": "1 heure 11 min"
}]
}
function customizer(objValue, srcValue) {
var object = {
"distance": objValue["distance"],
"driving": objValue["duration"],
"walking": srcValue["duration"]
}
return object
}
console.log(_.mergeWith(response["driving"], response["walking"], customizer));
check this out, [email protected] support this
Upvotes: 1