ReferencedistinctUntilChanged
Reference · 19
distinctUntilChanged
distinctUntilChanged
Игнорирует повторение того же значения подряд.
Сигнатура
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
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...