我有一个可能有嵌套数组的数组。我想总结父母内部的所有数字,无论有多少孩子'阵列在那里。
为什么它没有这样工作。其他人抱怨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
答案 0 :(得分:2)
你非常接近:
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))