//数组对象中goods_id相同和并一个对象,把goods_size_id值添加一起
let arr = [
{
goods_id:1,
goods_size_id:22,
},
{
goods_id:2,
goods_size_id:23,
},
{
goods_id:3,
goods_size_id:24,
},
{
goods_id:1,
goods_size_id:25,
},
]
//处理成这种数据
let newArr = [
{ goods_id:1, goods_size_id:[22,25]},
{ goods_id:2, goods_size_id:23},
{ goods_id:2, goods_size_id:24},
]
function mergeArrFn(arr) {
let newArr = [];
arr.forEach(item => {
let dataItem = item;
if (newArr.length > 0) {
let filterValue = newArr.filter(v => {
return v.goods_id == dataItem.goods_id
})
if (filterValue.length > 0) {
newArr.forEach(n => {
if (n.goods_id == filterValue[0].goods_id) {
n.goods_size_id = [filterValue[0].goods_size_id, dataItem.goods_size_id]
}
})
} else {
newArr.push(dataItem)
}
} else {
newArr.push(dataItem)
}
})
return newArr
}
const fd = this.mergeArrFn(arr);
console.log(fd,'fd)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cc0315c5afea47d39bd36004f166228e.png#pic_center)
js 数组对象中goods_id相同和并一个对象,把goods_size_id值添加一起
最新推荐文章于 2022-11-01 15:55:35 发布