本文介绍了数组groupBy和求和值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像这样的数组:

I have an array like this:

let purchases = [{
    year: 2019,
    sum: 3000
  },
  {
    year: 2019,
    sum: 5500
  },
  {
    year: 2020,
    sum: 2300
  }
]

我需要计算每年的总和值,即得出以下结果.

I need to calculate the value of the sum for each year, that is, to get the following result.

{"2019": 8500, "2020": 2300}

我该怎么做?

推荐答案

这可以使用 Array.prototype.reduce 完成.

let purchases = [{
    year: 2019,
    sum: 3000
  },
  {
    year: 2019,
    sum: 5500
  },
  {
    year: 2020,
    sum: 2300
  }
];

const output = purchases.reduce((acc, cur) => {
  acc[cur.year] ? acc[cur.year] += cur.sum : acc[cur.year] = cur.sum;
  return acc;
}, {});
console.log(output);

这篇关于数组groupBy和求和值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 16:11