JavaScript中如何对对象数组重复日期的total值求和并统计出现次数
实现方案
你可以通过数组的reduce方法先按date属性分组统计,再将分组结果转为数组即可,具体代码如下:
const data =[ {total: 90, date:"2021-11-16T07:20:23.000Z"}, {total: 10, date:"2021-11-16T07:20:23.000Z"}, {total: 50, date:"2021-11-17T07:20:23.000Z"} ]; // 以date为key构建临时映射对象,累计total和count const groupedMap = data.reduce((acc, cur) => { if (!acc[cur.date]) { acc[cur.date] = { date: cur.date, total: 0, count: 0 }; } acc[cur.date].total += cur.total; acc[cur.date].count += 1; return acc; }, {}); // 将映射对象的值转为最终数组 const newData = Object.values(groupedMap);
执行上述代码后得到的newData就和你预期的输出完全一致。
内容的提问来源于stack exchange,提问作者anie
相关产品推荐
相关产品推荐

