问题描述
我对reduce的工作原理有所了解,但是多维数组存在问题。我该如何减少这种情况:
y = [['x',0.5],['x',['z',2],2]];
对此:
y = [['x',1],4]];
谢谢!
解决方法
您可以使用存储键和的累积对象进行归约,然后使用Object.entries()
将其转换回数组array
const y = [
["x",0.5],["x",["z",2],]
const res = Object.entries(
y.reduce((acc,[key,value]) => {
acc[key] = (acc[key] || 0) + value
return acc
},{})
)
console.log(res)