Що робить 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.