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

Observable array inside array, digit sum?

我有一个可能有嵌套数组的数组。无论那里有多少 'child' 个数组,我都想对父级中的所有数字求和。

为什么这样不行。 else 抱怨 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))