I'm struggling with getting the desired output of Array of objects. So let's I have this Array of object:
var cars = [
{ make: 'audi', model: 'r8', quantity: '5' },
{ make: 'audi', model: 'rs5', quantity: '10'},
{ make: 'ford', model: 'mustang', quantity: '3' },
{ make: 'kia', model: 'optima', quantity: '9' },
{ make: 'audi', model: 'rw7', quantity: '2' },
{ make: 'ford', model: 'fusion', quantity: '7' }
],
The desired Output:
var cars = [
{ make: 'audi', sumQuantity: '17' },
{ make: 'ford', sumQuantity: '10' },
{ make: 'kia', sumQuantity: '9' }
],
I tried to map through them but didn't solve my problem, hope you guys help out here! Thanks.
This works fine
Object.values(
cars.reduce((agg, car) => {
if (agg[car.make] === undefined) agg[car.make] = { make: car.make, sumQuantity: 0 }
agg[car.make].sumQuantity += +car.quantity
return agg
}, {})
)