我有一个数组,它可能有嵌套数组。我想对父级中的所有数字求和,无论有多少个"子"数组。
为什么它不以这种方式工作。另一个是抱怨 acc1 是一个数组,这是正常的,但这种方法有什么问题?
Observable.from([1, 2, 3, [ 1, 2, 3, 4]])
.map(x => x)
.reduce((acc1, y) => {
if (Array.isArray(y)) {
return (y.reduce((acc2, x) => acc2 + x));
} else {
return acc1 + y;
}
})
.subscribe(res => console.log(res))
结果应为 16
你非常接近:
Observable.from([1, 2, 3, [ 1, 2, 3, 4]])
.map(x => x)
.reduce((acc1, y) => {
if (Array.isArray(y)) {
return acc1 + (y.reduce((acc2, x) => acc2 + x)); // just add acc1 to your reduced array
} else {
return acc1 + y;
}
})
.subscribe(res => console.log(res))