Итоги
В этом уроке вы узнали, что:
- У массивов есть методы, которые заменяют самые частые циклы. Большинство из них принимает колбэк: функцию, обычно стрелочную, которую метод вызывает для каждого элемента, например
(animal) => animal.age < 5. filter()возвращает новый массив с теми элементами, для которых колбэк вернулtrue. Егоlengthпоказывает, сколько их.map()возвращает новый массив с тем, что колбэк вернул для каждого элемента:animals.map((animal) => animal.name).forEach()просто вызывает колбэк для каждого элемента, как циклfor...of.find()возвращает первый элемент, для которого колбэк вернулtrue, илиundefined, если такого нет.some()сообщает, подходит ли под условие хотя бы один элемент, аevery()— подходят ли все.join(", ")соединяет элементы в одну строку, вставляя между ними", ".- Методы можно объединять в цепочку:
animals.filter(...).map(...).join(", "). Сначала отберите элементы, потом преобразуйте их. sort()сортирует сам массив. Без функции сравнения он сравнивает элементы как строки, поэтому[10, 9, 1]превращается в[1, 10, 9]. Числа сортируют с помощью(a, b) => a - b, илиb - a, если наибольшее должно идти первым, а строки — с помощью(a, b) => a.localeCompare(b).- Spread, три точки, копирует:
[...temperatures]— это новый массив,[...morning, ...afternoon]объединяет два массива, а{ ...leo, age: 7 }— изменённая копия объекта. Когда нужен ещё и исходный порядок, сортируйте копию. - Деструктуризация достаёт значения из объекта по именам,
const { name, age } = leo;, а из массива — по позициям,const [first, second] = ages;.
Дальше вас ждёт ещё один небольшой проект — турнирная таблица футбольной лиги, в котором вы примените функции, объекты и эти методы. А потом, в уроке «JavaScript на веб-страницах», ваш код заработает на веб-странице: он будет менять то, что показывает страница, и реагировать на клики. И вы увидите, что части веб-страницы — тоже объекты, свойства которых можно читать и менять.
Теперь немного практики. В редакторе — зоопарк со списком его животных.
Задание
- 1
Выведите имена животных, которым не меньше 5 лет, в алфавитном порядке через запятую:
Старшие: Бим, Бруно, Коко, Лео. - 2
Ниже выведите самое младшее животное:
Самый младший: Пип (пингвин). Отсортируйте копиюanimalsпо возрасту и достаньте из неё первое животное с помощью деструктуризации.