Group By and Sum using Underscore/Lodash

后端 未结 6 2073
鱼传尺愫
鱼传尺愫 2020-12-09 04:44

I have JSON like this:

[
  {
     platformId: 1,
     payout: 15,
     numOfPeople: 4
  },
  {
     platformId: 1,
     payout: 12,
     numOfPeople: 3

  }         


        
6条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-09 05:24

    //Input 
    [{
      "platformId": 1,
      "payout": 15,
      "numOfPeople": 4
    }, {
      "platformId": 1,
      "payout": 12,
      "numOfPeople": 3
    }, {
      "platformId": 2,
      "payout": 6,
      "numOfPeople": 5
    }, {
      "platformId": 2,
      "payout": 10,
      "numOfPeople": 1
    }]
    
    
    //Output
    {
     "1": {
        "payout": 43,
        "numOfPeople": 13
     },
     "2": {
        "payout": 43,
        "numOfPeople": 13
     }
    }
    
    
    // Code
    output = _.reduce(input, function(acc, val, key) {
      acc[val.platformId] = {
         payout: _.sum(a, 'payout'),
         numOfPeople: _.sum(a, 'numOfPeople')
       };
      return acc;
      }, {});
    

提交回复
热议问题