BACK
PracticeInterview: mergeScan() async accumulator
PRACTICE · 52 · 練

Interview: mergeScan() async accumulator

Accumulate a balance of bank operations with mergeScan.

  1. Solve the task in the editor — no long theory.
  2. Run the check and compare your output with the expected result.
  3. Stuck? Open the solution and carry the approach into your own code.
Solution spoiler · click to reveal
const { from, of, mergeScan } = Rx;

const operations = [100, -20, 50];

const result$ = from(operations).pipe(
  mergeScan((balance, change) => of(balance + change), 0)
);

result$.subscribe(value => console.log(value));
script.ts // TypeScript
CONSOLE · Console output
Hit Run to see the result...