Разница между forEach() и map()

Двумя наиболее часто используемыми методами итерации являются Array.prototype.map() и Array.prototype.forEach(). Необходимо понимать их различия.

Оба метода forEach() и map() получают функцию в качестве параметра. Затем он применяет параметры к каждому элементу.

Первое отличие — это возвращаемое значение.

Метод forEach() возвращает неопределенное значение, а метод map() возвращает новый массив, содержащий преобразованные элементы, но возвращаемое значение отличается.

const arr= [1, 2, 3, 4, 5]
arr.forEach(x => x * x)
//  undefined

arr.map(x => x * x)
//  [1, 4, 9, 16, 25]

Второе отличие состоит в том, что за функцией Map() могут следовать другие методы.

После метода map() для массива можно добавить функции уменьшения(), сортировки(), фильтра() и т. д., но для метода forEach() это невозможно, поскольку он возвращает неопределенное значение.

Третье отличие состоит в том, что функция map() не изменяет массив, в котором она вызывается.

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

Supongo que te gusta

Origin blog.csdn.net/qq_44721831/article/details/129266869
Recomendado
Clasificación