ForEach и Map — это одно и то же?
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 56 из 65.
Хотя forEach() и map() оба являются методами массивов, используемыми для итерации, они служат разным целям и имеют различное поведение:
forEach():
- Выполняет указанную функцию один раз для каждого элемента массива.
- Не создает новый массив.
- Возвращает
undefined. - Нельзя объединять в цепочку с другими методами массива.
map():
- Создает новый массив с результатами вызова предоставленной функции для каждого элемента в массиве.
- Возвращает новый массив той же длины, что и исходный.
- Может быть объединен в цепочку с другими методами массива.
Пример:
const numbers = [1, 2, 3, 4];
// forEach
numbers.forEach(num => console.log(num * 2));
// Выводит: 2, 4, 6, 8
// Возвращает: undefined// map
const doubled = numbers.map(num => num * 2);
console.log(doubled);
// Вывод: [2, 4, 6, 8]
// Возвращает: Новый массив [2, 4, 6, 8]Используйте forEach(), когда вы хотите выполнить операцию над каждым элементом без создания нового массива. Используйте map(), когда вы хотите преобразовать каждый элемент и создать новый массив с результатами.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Шпаргалка
Хотя forEach() и map() являются методами массивов, используемыми для итерации, они служат разным целям:
forEach():
- Выполняет функцию один раз для каждого элемента массива
- Не создает новый массив
- Возвращает
undefined - Не может быть объединен в цепочку с другими методами массивов
map():
- Создает новый массив с результатами вызова функции для каждого элемента
- Возвращает новый массив той же длины, что и исходный
- Может быть объединен в цепочку с другими методами массивов
const numbers = [1, 2, 3, 4];
// forEach - выполняет операцию, возвращает undefined
numbers.forEach(num => console.log(num * 2));
// map - трансформирует элементы, возвращает новый массив
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]Используйте forEach() для операций без создания нового массива. Используйте map() для трансформации элементов и создания нового массива.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON6Множества. Часть 2
Математика — Объединение множествМатематика — Пересечение множествМатематика — Разность множествМатематика — Симметрическая разностьПодмножества и надмножестваПовторение — Группировка друзей9Продвинутые методы массивов
Методы Join и SplitМетод MapМетод FilterМетод ReduceЦепочки методов массивовForEach и Map — это одно и то же?Метод SortМетоды Find и FindIndexИтоги — Мастер цепочек