js 数组对象去重 一样的value值相加
2023-04-10 本文已影响0人
Rascar
// let arry = [
// { currency: "x", count: 1, cny: "nihao" },
// { currency: "x", count: 2, cny: "nihao" },
// { currency: "x", count: 3, cny: "nihao" },
// { currency: "y", count: 4, cny: "spec1}
// ];
dataReduceData(arr) {
return arr.reduce((newArr, item) => {
//判断新值和旧值是否相同
const existingItemIndex = newArr.findIndex(v => v.cny === item.cny && v.currency === item.currency)
if (existingItemIndex !== -1) {
newArr[existingItemIndex] = {
...newArr[existingItemIndex],
count: newArr[existingItemIndex].count + item.count
}
} else {
newArr.push(item)
}
return newArr // [{ currency: "x", count: 6, cny: "nihao" },
// { currency: "y", count: 4, cny: "spec1}]
}, [])
},