Posts

Showing posts with the label lodash

Sum all data in array of objects into new array of objects

I have an array of objects that looks like this: var data = [{costOfAirtickets: 2500, costOfHotel: 1200},{costOfAirtickets: 1500, costOfHotel: 1000}] and I want to sum each element in the array to produce an array like this: var result = [{costOfAirtickets: 4000, costOfHotel: 3200}] I have used a map and reduce function but I was able to only sum an individual element like so: data.map(item => ite.costOfAirtickets).reduce((prev, next)=>prev + next); // 22 At the moment this produces a single value which is not what I want as per initial explanation. Is there a way to do this in Javascript or probably with lodash. Using for..in to iterate object and reduce to iterate array var data = [{costOfAirtickets: 2500, costOfHotel: 1200},{costOfAirtickets: 1500, costOfHotel: 1000}]; var result = [data.reduce((acc, n) => { for (var prop in n) { if (acc.hasOwnProperty(prop)) acc[prop] += n[prop]; else acc[prop] = n[prop]; } return acc; }, {})] console.log(result) Us...