2 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
let getMap = (arr, key) => arr.map(a => a[key]);
let cidMap = getMap(arr1, 'cid');
arr2.forEach(item => {
let goods = arr1[cidMap.indexOf(item['cid'])]['goods'];
let goodsMap = getMap(goods, 'gid');
// 手機(jī)碼字,忘了 goods 的操作會(huì)不會(huì)影響原來(lái)的數(shù)組……
// 題主自行試一下吧
arr1[cidMap.indexOf(item['cid'])]['goods']
[goodsMap.indexOf(item['gid'])]
['count'] += item['count'];
});

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
arr1.forEach(a=>{
a.goods=a.goods.map(v=>{
var index=arr2.findIndex(c=>c.gid===v.gid)
if(index>=0){
v.count+=arr2[index].count
}
return !v.count?{gid:v.gid,gname:v.gname}:{gid:v.gid,gname:v.gname,count:v.count}
})
})
添加回答
舉報(bào)