Sobes.tech
Назад к вопросам
Middle+
3

Чем отличаются методы массивов MAP, FILTER, REDUCE и FOREACH друг от друга? Для чего они нужны?

Компании, где спрашивали
Ifellow

Ответ от нейросети

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