Що робить map()?
Оператор map() в RxJS перетворює кожне значення потоку і повертає нове.
Простий приклад:
ts
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
of(1, 2, 3)
.pipe(map(x => x * 10))
.subscribe(val => console.log(val));Був потік: 1 → 2 → 3
Став потік: 10 → 20 → 30
Як це працює:
- Кожне значення пропускається через функцію
- Повертається нове значення, але сам потік продовжується
Де використовують:
- Змінити дані з API
- Додати/видалити поля
- Перетворити рядок на число, об'єкт на інший об'єкт тощо
- У формах, подіях, пошуку
Приклад в Angular:
ts
this.http.get('/api/user')
.pipe(map(user => user.name))
.subscribe(name => console.log(name));Ти отримуєш весь об'єкт, але map() залишає тільки ім'я.
Висновок:
map() - це як фільтр-лінза:
бере вхідне значення і повертає інше.
Дуже зручний, коли потік іде, а тобі потрібно «перефарбувати» дані на льоту.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.