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

后端 未结 14 994
借酒劲吻你
借酒劲吻你 2020-12-29 03:32

I have an array of objects that looks like this:

var data = [{costOfAirtickets: 2500, costOfHotel: 1200},{costOfAirtickets: 1500, costOfHotel: 1000}]
         


        
14条回答
  •  长情又很酷
    2020-12-29 04:16

    You can use a simple forEach() loop for that:

    var data = [{costOfAirtickets: 2500, costOfHotel: 1200},{costOfAirtickets: 1500, costOfHotel: 1000}];
    var res = [];
    var tempObj = {};
    data.forEach(({costOfAirtickets, costOfHotel}) => {
      tempObj['costOfAirtickets'] = (tempObj['costOfAirtickets'] || 0) + costOfAirtickets;
      tempObj['costOfHotel'] = (tempObj['costOfHotel'] || 0) + costOfHotel;
     });
    res.push(tempObj);
    console.log(res);

提交回复
热议问题