В чём разница между foreach и map ?
Спросят с вероятностью 17%
forEach и map — это два метода массивов, предназначенные для итерации по элементам массива, но они используются в разных целях и работают по-разному.
forEach
- Назначение: Используется для выполнения заданной функции один раз для каждого элемента в массиве. Основное назначение — выполнение побочных эффектов (например, вывод в консоль, запись в файл и т.д.).
- Возвращаемое значение: Не возвращает никакого значения (то есть возвращает
- Изменение оригинального массива: Может изменять оригинальный массив, если внутри функции-коллбэка производятся изменения его элементов.
map
- Назначение: Используется для создания нового массива, заполненного результатами вызова предоставленной функции на каждом элементе исходного массива. Основное назначение — трансформация данных.
- Возвращаемое значение: Возвращает новый массив, который содержит результаты применения функции к каждому элементу исходного массива. Это позволяет использовать его в цепочках вызовов и присваивать результат его работы переменной.
- Изменение оригинального массива: Не изменяет оригинальный массив, что делает его предпочтительным в функциональном программировании.
Основные различия
- Цель использования:
- Возвращаемое значение:
- Изменение исходного массива:
forEach используется для выполнения функции на каждом элементе массива без создания нового массива. Он идеален для ситуаций, когда вам нужно применить какой-либо побочный эффект.
map применяется для трансформации исходного массива в новый, без изменения исходного массива
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент.
🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Спросят с вероятностью 17%
forEach и map — это два метода массивов, предназначенные для итерации по элементам массива, но они используются в разных целях и работают по-разному.
forEach
- Назначение: Используется для выполнения заданной функции один раз для каждого элемента в массиве. Основное назначение — выполнение побочных эффектов (например, вывод в консоль, запись в файл и т.д.).
- Возвращаемое значение: Не возвращает никакого значения (то есть возвращает
undefined
). Это означает, что результат его работы нельзя присвоить переменной.- Изменение оригинального массива: Может изменять оригинальный массив, если внутри функции-коллбэка производятся изменения его элементов.
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
// Выводит каждый элемент в консоль
map
- Назначение: Используется для создания нового массива, заполненного результатами вызова предоставленной функции на каждом элементе исходного массива. Основное назначение — трансформация данных.
- Возвращаемое значение: Возвращает новый массив, который содержит результаты применения функции к каждому элементу исходного массива. Это позволяет использовать его в цепочках вызовов и присваивать результат его работы переменной.
- Изменение оригинального массива: Не изменяет оригинальный массив, что делает его предпочтительным в функциональном программировании.
const array2 = [1, 4, 9];
const map1 = array2.map(x => x * 2);
console.log(map1);
// Выводит новый массив [2, 8, 18]
Основные различия
- Цель использования:
forEach
для выполнения операций или побочных эффектов на каждом элементе массива; map
для создания нового массива на основе обработки каждого элемента исходного массива.- Возвращаемое значение:
forEach
возвращает undefined
, в то время как map
возвращает новый массив.- Изменение исходного массива:
forEach
может изменять исходный массив, если это предусмотрено логикой коллбэка; map
не изменяет исходный массив, а создаёт новый.forEach используется для выполнения функции на каждом элементе массива без создания нового массива. Он идеален для ситуаций, когда вам нужно применить какой-либо побочный эффект.
map применяется для трансформации исходного массива в новый, без изменения исходного массива
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти к Списку всех вопросов на Frontend Developer. Ставь 👍 если нравится контент.