
Урок 05 · 13 хв
Масиви
Взяти список даних і отримати з нього інший список або одне число.
Список товарів, список повідомлень, список чого завгодно — це масив. Половина роботи фронтендера виглядає так: взяти масив із сервера й перетворити його на те, що показують на екрані.
Що змінює масив, а що копіює
slice копіює, splice ріже по живому. Назви схожі, поведінка протилежна. Коли сумніваєшся — бери slice і spread: працювати з копією майже завжди безпечніше, особливо якщо масив прийшов аргументом у функцію.
Перебір
map— стільки ж елементів, але інших.filter— ті самі елементи, але менше.find— один елемент абоundefined.findIndex— його позиція або-1.someіevery— булева відповідь: «є хоча б один» і «підходять усі».reduce— згортає масив в одне значення. Другий аргумент — стартове значення, без нього порожній масив кине помилку.includes— чи є таке значення. Для об'єктів не підходить: порівнює за посиланням.
Функція порівняння має повернути від'ємне число, нуль або додатне. Для чисел вистачає віднімання. Для рядків бери a.localeCompare(b) — він знає про регістр і про кирилицю.
- MDN · Array — усі методи одним списком
- MDN · map — новий масив тієї ж довжини
- MDN · reduce — згортання в одне значення
- MDN · sort — чому сортує як рядки
Перевірка
Закріпи, поки не пішов далі
1. Що поверне
[3, 10, 2].sort()?2. Який метод не змінює вихідний масив?
3. Що поверне
find, якщо відповідного елемента немає?4. Навіщо
reduceдругий аргумент?