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已经合并在一起

js数组中相同对象合并对象中不同数据_第1张图片

你可能感兴趣的:(JavaScript)