Методы map и filter: преобразование списков
Как получить новый список значений или выбрать подходящие элементы без ручного накопления.
Основная идея
Map создаёт новый массив, применяя функцию к каждому элементу. Filter оставляет элементы, для которых проверка вернула истинное значение. В каталоге сначала можно отобрать подходящие записи, затем получить их названия.
Эти методы не изменяют сам исходный массив по своей основной операции. Но код внутри callback способен менять объекты, на которые ссылаются элементы. Поэтому отсутствие прямого изменения массива ещё не означает полной неизменяемости данных.
Пример JavaScript
const lessons = [{ title: "HTML", done: true }, { title: "CSS", done: false }];
const completedTitles = lessons
.filter(lesson => lesson.done)
.map(lesson => lesson.title);
console.log(completedTitles);
Результат — массив с одной строкой HTML. Сначала отбираются завершённые уроки, затем из них берутся названия.
Частая ошибка
Самостоятельная проверка
Добавьте завершённый урок JavaScript и проверьте список. Затем перепишите стрелочную функцию map с фигурными скобками и явным return.
Код здесь показан для изучения. Встроенная песочница сайта выполняет только HTML/CSS. JavaScript проверяйте в собственном учебном файле или консоли своего тестового проекта; не вставляйте непонятный код на страницах с личными данными.