JavaScript Essentials

Урок 05 · 13 хв

Масиви

Взяти список даних і отримати з нього інший список або одне число.

Список товарів, список повідомлень, список чого завгодно — це масив. Половина роботи фронтендера виглядає так: взяти масив із сервера й перетворити його на те, що показують на екрані.

Доступ і довжина
AI

Можна спитати про це правило«Індекси рахуються з нуля»

AI

Можна спитати про цей пункт«Суть уроку»

Що змінює масив, а що копіює

Мутувальні методи
Копіювальні методи

slice копіює, splice ріже по живому. Назви схожі, поведінка протилежна. Коли сумніваєшся — бери slice і spread: працювати з копією майже завжди безпечніше, особливо якщо масив прийшов аргументом у функцію.

AI

Можна спитати про цей пункт«Що змінює масив, а що копіює»

Перебір

map, filter, find, reduce
  • map — стільки ж елементів, але інших.
  • filter — ті самі елементи, але менше.
  • find — один елемент або undefined. findIndex — його позиція або -1.
  • some і every — булева відповідь: «є хоча б один» і «підходять усі».
  • reduce — згортає масив в одне значення. Другий аргумент — стартове значення, без нього порожній масив кине помилку.
  • includes — чи є таке значення. Для об'єктів не підходить: порівнює за посиланням.
AI

Можна спитати про це правило«sort змінює вихідний масив»

Сортування без сюрпризів

Функція порівняння має повернути від'ємне число, нуль або додатне. Для чисел вистачає віднімання. Для рядків бери a.localeCompare(b) — він знає про регістр і про кирилицю.

AI

Можна спитати про цей пункт«Перебір»

Перевірка

Закріпи, поки не пішов далі

  1. 1. Що поверне [3, 10, 2].sort()?

  2. 2. Який метод не змінює вихідний масив?

  3. 3. Що поверне find, якщо відповідного елемента немає?

  4. 4. Навіщо reduce другий аргумент?