Оба метода map()
и forEach()
используются для перебора массивов в JavaScript, но они различаются тем, как они обрабатывают элементы в массиве и что они возвращают.
Метод map()
создает новый массив, вызывая функцию для каждого элемента в исходном массиве. Функция принимает три аргумента: текущий элемент, индекс текущего элемента и исходный массив. Функция возвращает новое значение, которое добавляется к новому массиву. Метод map()
возвращает новый массив с тем же количеством элементов, что и исходный массив. Вот пример использования map()
для создания нового массива удвоенных значений:
const originalArray = [1, 2, 3]; const doubledArray = originalArray.map((item) => item * 2); // doubledArray is now [2, 4, 6]
Метод forEach()
, с другой стороны, просто перебирает массив и вызывает функцию для каждого элемента. Функция принимает те же три аргумента, что и метод map()
. Однако функция ничего не возвращает, и метод forEach()
не создает новый массив. Вот пример использования forEach()
для вывода каждого элемента массива на консоль:
const myArray = ['apple', 'banana', 'cherry']; myArray.forEach((item, index) => { console.log(`Item ${index}: ${item}`); }); // logs "Item 0: apple", "Item 1: banana", "Item 2: cherry"
Таким образом, метод map()
используется, когда вы хотите создать новый массив на основе существующего массива, а функция, которую вы передаете map()
, возвращает новое значение, которое следует добавить в новый массив. Метод forEach()
используется, когда вы просто хотите выполнить операцию над каждым элементом в массиве, не создавая новый массив и не возвращая ничего.