数组内的可观察数组,数字总和



我有一个数组,它可能有嵌套数组。我想对父级中的所有数字求和,无论有多少个"子"数组。

为什么它不以这种方式工作。另一个是抱怨 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))

最新更新