> В чем разница между map и forEach в JavaScript (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: Sminex, Софт Медиа Групп
Стек: JavaScript
> Пример ответа
Основное различие между map и forEach в JavaScript - это возвращаемое значение и предназначение.
-
forEachвыполняет переданную функцию для каждого элемента массива, но не возвращает новый массив. Он всегда возвращаетundefined. Используется, когда нужно просто выполнить побочные эффекты (например, изменить внешнюю переменную, вывести данные в консоль, отправить запрос). -
mapтакже выполняет функцию для каждого элемента, но создаёт и возвращает новый массив с результатами вызова этой функции. Исходный массив остаётся неизменным. Используется для трансформации данных.
Пример:
JAVASCRIPTconst numbers = [1, 2, 3];// forEach - ничего не возвращаетconst resultForEach = numbers.forEach(num => num * 2);console.log(resultForEach); // undefined// map - возвращает новый массивconst resultMap = numbers.map(num => num * 2);console.log(resultMap); // [2, 4, 6]
Также map поддерживает цепочки вызовов (chaining), так как возвращает массив, а forEach - нет. Если вам не нужен новый массив, используйте forEach; если нужно преобразовать данные - map.
> Похожие задачи по frontend
Что происходит при запуске функции с промисами и почему результат может быть пустым?
Что такое NaN и в каких случаях он возникает
В чем разница между target и currentTarget в событиях JavaScript?
Какие методы для работы с массивами в JavaScript существуют и какие чаще используются
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью