BACK
PracticeReal-life: distinctUntilChanged() for statuses
PRACTICE · 10 · 練

Real-life: distinctUntilChanged() for statuses

Remove consecutive duplicate statuses, but keep the repeated idle after success.

  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, distinctUntilChanged } = Rx;

const statuses = ['idle', 'idle', 'loading', 'loading', 'success', 'idle'];

const result$ = from(statuses).pipe(
  distinctUntilChanged()
);

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