![](https://i-blog.csdnimg.cn/blog_migrate/e4a7ccc9ffe50fad415000bd19c6e530.png)
这个数组是由多个数组的item重新组成的数据数组,根据其中重复的id值,计算重量等到=的和,
let newArr = []
goodsArr.forEach(item => {
let dataItem = item;
if (newArr.length > 0) {
let filterValue = newArr.filter(v => {
return v.goodsId === dataItem.goodsId
})
if (filterValue.length > 0) {
newArr.forEach(n => {
if (n.goodsId === filterValue[0].goodsId) {
n.goodsCount = filterValue[0].goodsCount + dataItem.goodsCount
n.goodsVolume = filterValue[0].goodsVolume + dataItem.goodsVolume
n.goodsWeight = filterValue[0].goodsWeight + dataItem.goodsWeight
n.goodsUnit = String(filterValue[0].goodsUnit)
n.packType = String(filterValue[0].packType)
n.goodsName = [String(filterValue[0].goodsId)]
}
})
} else {
newArr.push(dataItem)
}
} else {
newArr.push(dataItem)
}
})
console.log('newArr', newArr)
最后得到这样的数组
![](https://i-blog.csdnimg.cn/blog_migrate/d5cb922422164d3193572e78dd7d068d.png)
OK。。。。。。。。。