js 数组对象去重 一样的value值相加

   // 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}]
      }, [])
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容