BACK
ReferencedistinctUntilChanged
Reference · 19

distinctUntilChanged

distinctUntilChanged

rxjs.dev

Игнорирует повторение того же значения подряд.

Сигнатура

distinctUntilChanged(comparator?: (a: T, b: T) => boolean, keySelector?: (v: T) => K): MonoTypeOperatorFunction

Маркеры

in:     1-1-2-2-3-1-|
result: 1---2---3-1-|

Что делает

Запоминает последнее эмитированное значение. Сравнивает каждое новое с ним (по умолчанию === ); пропускает дальше, только если отличается. Опциональный keySelector сравнивает только по выбранному полю объекта.

Когда использовать

Поиск-typeahead (вход совпал с предыдущим — запрос не нужен). Защита подписчиков от лишних обновлений. Сокращение перерендеров в Angular.

Подводный камень

Сравнивает только с предыдущим значением, а не со всей историей. Для глобальной уникальности — оператор distinct.

См. также

distinct, filter, debounceTime

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...