Skip to main content

Що робить filter()?

Оператор filter() в RxJS пропускає далі тільки ті значення з потоку, які проходять перевірку.


Простий приклад:

ts
import { of } from 'rxjs'; import { filter } from 'rxjs/operators'; of(1, 2, 3, 4, 5) .pipe(filter(x => x % 2 === 0)) .subscribe(val => console.log(val));

Був потік: 1 → 2 → 3 → 4 → 5 Залишились: 2 → 4


Як це працює:

  • Кожне значення перевіряється функцією (умовою)
  • Якщо true, пропускається далі
  • Якщо false, ігнорується

Де використовують:

  • Залишити тільки потрібні значення з потоку
  • Прибрати порожні рядки, нулі, помилки
  • Реагувати тільки на певні події

Приклад в Angular:

ts
this.searchInput.valueChanges .pipe(filter(value => value.length > 2)) .subscribe(search => { // Запускаємо пошук, тільки якщо ввели більше 2 символів });

Висновок:

filter() - це як прохідна на потоці: пропускає далі тільки ті дані, які тобі підходять. Решта відсікається.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.