一笔浓墨画佳人 2023-05-24 17:51 采纳率: 93.8%
浏览 14
已结题

数组中日期相同的项,数量相加

这个返回数据当中,如何把日期yearmo相同的数据,它的crntonhdnum相加,然后push到数组里面,这个日期是动态的,所以判断的时候不能写死

img

  • 写回答

1条回答 默认 最新

  • @晓码自在 2023-05-24 18:02
    关注

    该回答引用ChatGPT4与博主@晓码自在合作编写:

    根据你的要求,可以这么实现:

    js
    let data = [/* 数据 */]; 
    let result = [];
    
    // 获取data中所有yearmo的值
    let yearmos = data.map(item => item.yearmo);
    
    // yearmos去重
    let uniqueYearmos = [...new Set(yearmos)]; 
    
    uniqueYearmos.forEach(yearmo => {
      // 筛选出yearmo相同的数据
      let filterData = data.filter(item => item.yearmo === yearmo);
      
      // 计算crntonhdnum总和
      let sum = filterData.reduce((total, item) => total + item.crntonhdnum, 0);
      
      // 构造结果对象
      let obj = {
        yearmo: yearmo,
        crntonhdnum: sum
      };
      
      // 添加到结果数组
      result.push(obj); 
    });
    
    console.log(result);
    // [ { yearmo: '202301', crntonhdnum: 9.2 }, 
    //   { yearmo: '202302', crntonhdnum: 10.23 },
    //   ... ]
    
    

    这个代码的流程是:

    1. 从原始数据data中提取所有的yearmo,使用Set去重得到唯一的yearmo值uniqueYearmos。
    2. 遍历每个uniqueYearmo,使用filter()方法筛选出yearmo相同的数据。
    3. 使用reduce()对这些数据的crntonhdnum字段求和,得到总和sum。
    4. 构造结果对象,包含yearmo和crntonhdnum(sum)。
    5. 添加到最终结果数组result中。
    6. 返回结果result数组。

    这样,我们就可以按yearmo分组,并统计每个分组的crntonhdnum总和,这满足你的要求。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月24日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表