如题,有两个对象数组,arr1 和 arr2
var arr1 = [
{
cid: 1,
name: 'A',
goods: [
{ gid: 11, gname: 'a', cid: 1, count: 1 },
{ gid: 12, gname: 'b', cid: 1 },
{ gid: 13, gname: 'c', cid: 1 }
]
},
{
cid: 2,
name: 'B',
goods: [
{ gid: 14, gname: 'd', cid: 2, count: 2 }
]
},
{
cid: 3,
name: 'C',
goods: []
},
{
cid: 4,
name: 'D',
goods: []
}
]
var arr2 = [
{ gid: 11, gname: 'a', cid: 1, count: 3 },
{ gid: 14, gname: 'd', cid: 2, count: 1 }
]
想把相同 gid 中的 count 进行累加,形成一个新的数组,最终得到如下效果:
(PS:arr 中的 gid 一定是 arr1 已有的,因此不用考虑往空 goods 数组中插入对象的情况)
var arr3 = [
{
cid: 1,
name: 'A',
goods: [
{ gid: 11, gname: 'a', cid: 1, count: 4 },
{ gid: 12, gname: 'b', cid: 1 },
{ gid: 13, gname: 'c', cid: 1 }
]
},
{
cid: 2,
name: 'B',
goods: [
{ gid: 14, gname: 'd', cid: 2, count: 3 }
]
},
{
cid: 3,
name: 'C',
goods: []
},
{
cid: 4,
name: 'D',
goods: []
}
]