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}]
      }, [])
    },
上一篇下一篇

猜你喜欢

热点阅读