Початківець
+45 XP

👋 Починай вчитися JavaScript прямо зараз — безкоштовно!

💻

Методи масивів: map, filter, find

Найкорисніші інструменти для роботи зі списками даних

Функції як аргументи — що таке callback

Перед тим як вчити map і filter — важлива концепція: функцію можна передавати як аргумент іншій функції.

javascript
// Звичайна функція
function double(n) {
  return n * 2;
}

// Функцію передаємо як аргумент:
const result = [1, 2, 3].map(double);
//                            ↑ передаємо функцію (БЕЗ дужок!)
console.log(result); // [2, 4, 6]

Без дужок (double) — передаємо функцію як значення (вона ще не виконується).
З дужками (double()) — одразу викликаємо і передаємо результат.

Функцію яку ти передаєш іншій функції називають callback (зворотній виклик). Метод сам викликає її для кожного елемента:

javascript
const numbers = [1, 2, 3];

// Варіант 1 — іменований callback (окрема функція)
function triple(n) { return n * 3; }
const r1 = numbers.map(triple);      // [3, 6, 9]

// Варіант 2 — стрілковий callback прямо всередині (частіше так)
const r2 = numbers.map(n => n * 3);  // [3, 6, 9]
//                    ↑ ця стрілкова функція — callback

console.log(r1); // [3, 6, 9]
console.log(r2); // [3, 6, 9]

Обидва варіанти однакові. Стрілкову прямо всередині пишуть частіше — вона коротша.

Масиви мають вбудовані методи — функції для зручної роботи зі списками. Найважливіші три:

  • map — трансформує кожен елемент, повертає новий масив
  • filter — фільтрує елементи за умовою, повертає новий масив
  • find — знаходить перший елемент що задовольняє умову
🏭

map — конвеєр що трансформує кожну деталь

Уяви конвеєр де кожна деталь проходить крізь верстат і виходить зміненою. map робить те саме: бере кожен елемент, застосовує функцію і збирає результати у новий масив. Оригінал залишається незайманим.

javascript
💬

map завжди повертає новий масив тієї ж довжини.

🔍

filter — сито для масиву

Уяви сито: кидаєш всі елементи і частина проходить крізь дірочки (відповідають умові), а частина — ні. filter залишає тільки ті елементи для яких функція повертає true.

javascript
💬

filter повертає новий масив з елементами, для яких умова true.

javascript
💬

find — перший підхожий. filter — всі підхожі.

Ці методи не змінюють оригінальний масив — вони завжди повертають НОВИЙ. Початкові дані залишаються незайманими.

Коментарі

Увійти або Почати щоб залишити коментар.