js合并对象数组相同项,并对另一属性做累加处理

例子:合并日期相同的数据,数据为空时,补0。

var data = [{ bzmc: "品牌1", hyrq: "2023-06-07", hyxm: "11", hyjg: "3" },
    { bzmc: "品牌2", hyrq: "2023-06-07", hyxm: "11", hyjg: "2" },
    { bzmc: "品牌3", hyrq: "2023-06-08", hyxm: "22", hyjg: "12.4" },
    { bzmc: "品牌4", hyrq: "2023-06-08", hyxm: "22", hyjg: "45.1" }, { bzmc: "品牌5", hyrq: "2023-06-13", hyxm: "33", hyjg: "12" },
    { bzmc: "品牌6", hyrq: "2023-06-14", hyxm: null, hyjg: null }]
let newArray=data.reduce((total,cur,index)=>{
        let i=total.findIndex(current=>current.hyrq===cur.hyrq)
        cur.hyjg=cur.hyjg*1
        if(cur.hyjg===null){
            cur.hyjg=0
        }
        i===-1&&total.push(cur)
        i!==-1&&(total[i].hyjg=total[i].hyjg*1+cur.hyjg*1)
        return total
},[])

看一下输出结果:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值