You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:36:03