Чем отличаются методы массивов MAP, FILTER, REDUCE и FOREACH друг от друга? Для чего они нужны?
Ответ от нейросети
sobes.tech AI
Все эти методы — это функции высшего порядка для работы с массивами в JavaScript, но они служат разным целям:
-
map — преобразует каждый элемент массива и возвращает новый массив с результатами. Используется, когда нужно получить массив той же длины, но с изменёнными элементами.
-
filter — выбирает из массива только те элементы, которые удовлетворяют условию, возвращая новый массив с отфильтрованными элементами.
-
reduce — сводит массив к одному значению, аккумулируя результат через функцию-аккумулятор. Например, суммирование, подсчёт или построение объекта.
-
forEach — просто выполняет функцию для каждого элемента массива, не возвращая новый массив. Используется для побочных эффектов, например, вывода в консоль или изменения внешних переменных.
Пример:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(n => n * 2); // [2, 4, 6, 8]
const evens = numbers.filter(n => n % 2 === 0); // [2, 4]
const sum = numbers.reduce((acc, n) => acc + n, 0); // 10
numbers.forEach(n => console.log(n)); // выводит 1, 2, 3, 4