二维数组相同值的合并运算

img

我想将二维数组中左边值相等的右边的值进行累加,应该怎么做?
例如左边有2个22000,将这两个22000的右边的1和3相加,合并成1个[22000, 4]

http://t.csdn.cn/dLoJe
供参考

const newArr = this.arr.reduce((acc, cur) => {
                if (acc && acc.length == 0) {
                    return [...acc, cur]
                } else {
                    let flag = acc.filter(item => item[0] == cur[0])
                    if(flag.length>0){
                        const index = acc.findIndex(ele=>ele[0] == cur[0])
                        
                        if(index > -1){
                            acc[index][1] = acc[index][1] +cur[1]
                            return [...acc]
                        }else{
                            return [...acc,cur]
                        }
                        
                    }else{
                        return [...acc,cur]
                    }
                }
            }, [])

newArr 的值就是得到的新的结果