> В чем разница между map и forEach в JavaScript (JavaScript)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: Sminex, Софт Медиа Групп

Стек: JavaScript

> Пример ответа

Основное различие между map и forEach в JavaScript - это возвращаемое значение и предназначение.

  • forEach выполняет переданную функцию для каждого элемента массива, но не возвращает новый массив. Он всегда возвращает undefined. Используется, когда нужно просто выполнить побочные эффекты (например, изменить внешнюю переменную, вывести данные в консоль, отправить запрос).

  • map также выполняет функцию для каждого элемента, но создаёт и возвращает новый массив с результатами вызова этой функции. Исходный массив остаётся неизменным. Используется для трансформации данных.

Пример:

JAVASCRIPT
const 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.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью