js数组中相同对象合并对象中不同数据

js数组中相同对象合并该对象中不同字段

//数据,水果名称相同的,把数量累加合并起来,根据id是否相同判断
var data =[
    {
        id:'5ec223ec306f2300017aa7d4',
        fruitName:'苹果',
        num:100,
        price:30
    },
    {
        id:'5ec4fb83ad7caf0001257ed6',
        fruitName:'香蕉',
        num:80,
        price:20
    },{
        id:'5ec223ec306f2300017aa7d4',
        fruitName:'苹果',
        num:230,
        price:30
    },
    {
        id:'5ebcfee86f0ebe00012c039a',
        fruitName:'荔枝',
        num:500,
        price:45
    },
]
//处理数据
for(let i=0; i<data.length; i++){
    for(let j=i+1; j<data.length; j++){
        if(data[i].id === data[j].id){
            //console.log('重复',data[i],data[j])
            data[i].num = data[i].num + data[j].num 
            data.splice(j,1)
        }
    }
}
//打印data查看数据
console.log('data',data)

苹果的数量num已经合并在一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值