RxJS distinctUntilChanged
只和上一个已输出值比较,连续重复值会被忽略。
distinctUntilChanged()时间线如何变化
- 1首值总会输出
第一个 1 成为当前比较基准。
- 2连续的 1 被忽略
新值与上一个已输出值相同。
- 32 与 1 不同
2 输出并成为新的比较基准。
- 41 可以再次出现
它只需要与紧邻的上一个输出值不同。
- 5最后的 3 被忽略
最终输出序列为 1、2、1、3。
受支持的示例代码
实验室只根据下列示例中的关键操作符生成预设时间线,不执行任意输入代码。
import { of, distinctUntilChanged } from 'rxjs'
of(1, 1, 2, 2, 1, 3, 3).pipe(
distinctUntilChanged()
).subscribe(console.log)