Функция массива JavaScript map() и forEach(). Давайте углубимся прямо в тему и сравним обе функции массива и узнаем, когда какую функцию использовать и почему.

Массив.карта()

Метод map получает функцию в качестве параметра. Затем он применяет его к каждому элементу и возвращает совершенно новый массив (заполненный результатами вызова предоставленной функции). Ключевым выводом является то, что он всегда будет возвращать одно и то же количество элементов.

Массив.для каждого()

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

Как видно из приведенных выше результатов, варианты использования этих двух функций полностью отличаются друг от друга.

map используется для изменения каждого значения данного массива, а forEach используется для упрощения перебора массива без изменения его значений.

Отличия

Первое различие между map() и forEach() — это возвращаемое значение. Метод forEach() возвращает undefined whilemap() возвращает новый массив с преобразованными элементами.

Второе различие между этими методами массива заключается в том, что map() можно объединить в цепочку. Вы можете выполнить reduce(), sort(), filter() другой метод после выполнения метода map() для массива, в то время как это невозможно в случае forEach(), поскольку он возвращает undefined.

Заключение

Если вы хотите изменить каждое значение массива — используйтеmap, но если вы хотите сделать другие операции над каждым значением данного массива — используйте forEach. Нет смысла использовать map, если вы не хотите менять массив, и forEach, если хотите изменить каждое значение.