forEach перебирает элементы массива и выполняет функцию обратного вызова для каждого элемента, но не создает новый массив. Он используется для побочных эффектов, таких как вывод в консоль или изменение внешних переменных.
map также перебирает элементы массива и выполняет функцию обратного вызова для каждого элемента. Однако он возвращает новый массив, содержащий результаты выполнения этой функции на каждом элементе. Он используется для преобразования одного массива в другой.
Пример с forEach:
javascript
Пример с map:
javascript
Ключевое отличие в том, что map является "функциональным" методом, который не изменяет исходный массив и возвращает новый, в то время как forEach предназначен в первую очередь для выполнения действий на каждом элементе без возвращения нового массива.
| Критерий | forEach | map |
|---|---|---|
| Возвращаемое значение | undefined | Новый массив |
| Изменение массива | Не создает новый массив | Создает новый массив |
| Основное назначение | Выполнение действий на каждом элементе | Преобразование массива в новый массив |
| Цепочки методов | Не поддерживается естественным образом | Поддерживается (возвращает массив) |