merge object & sum a single property javascript

前端 未结 4 1377
南旧
南旧 2021-01-18 13:28

i have an array like this

[
  {
    item_guid: \"57e7a1cd6a3f3669dc03db58\"
    quantity:3
  },
  {
    item_guid: \"57e77b06e0566d496b51fed5\"
    quantity:         


        
4条回答
  •  难免孤独
    2021-01-18 14:00

    var groupedItems = [];
    
    var totalItems = [{item_guid: "57e7a1cd6a3f3669dc03db58", quantity:3},{item_guid: "57e77b06e0566d496b51fed5",quantity:3}, { item_guid: "57e7a1cd6a3f3669dc03db58", quantity:3 }, { item_guid: "57e77b06e0566d496b51fed5", quantity:3}];
    
    totalItems.forEach((e) => {
      if (groupedItems.findIndex(x => x.item_guid === e.item_guid) < 0) {
        let totalQuantity = totalItems
                           .filter(x => x.item_guid === e.item_guid)
                           .map(x => x.quantity)
                           .reduce(function(a, b) { return a + b;});
    
        groupedItems.push({item_guid: e.item_guid, quantity: totalQuantity})
      }
    })
    
    console.log(groupedItems);
    

提交回复
热议问题