reduce
Applies an accumulator function over the source Observable, and returns the accumulated result when the source completes, given an optional seed value.
Parameters
| accumulator |
The accumulator function called on each source value. |
| seed |
Optional. Default is The initial accumulation value. |
Returns
OperatorFunction<T, R>: An Observable that emits a single value that is the
result of accumulating the values emitted by the source Observable.
Description
Combines together all values emitted on the source, using an accumulator function that knows how to join a new source value into the accumulation from the past.

Like
Array.prototype.reduce(),
reduce applies an accumulator function against an accumulation and each
value of the source Observable (from the past) to reduce it to a single
value, emitted on the output Observable. Note that reduce will only emit
one value, only when the source Observable completes. It is equivalent to
applying operator scan followed by operator last.
Returns an Observable that applies a specified accumulator function to each
item emitted by the source Observable. If a seed value is specified, then
that value will be used as the initial value for the accumulator. If no seed
value is specified, the first item of the source is used as the seed.
Example
Count the number of click events that happened in 5 seconds