> Что такое map, filter и reduce в JavaScript и в чем их отличие (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: ООО Премиум ИТ Солюшен, The Tribe
Стек: JavaScript
> Пример ответа
map, filter и reduce - это методы массивов в JavaScript, которые относятся к функциональному программированию и позволяют обрабатывать данные без изменения исходного массива (иммутабельно).
map создаёт новый массив, применяя переданную функцию к каждому элементу исходного массива. Результат - массив той же длины.
Пример:
[1, 2, 3].map(x => x * 2) → [2, 4, 6]
filter создаёт новый массив, включающий только те элементы, для которых переданная функция возвращает true. Длина результата может быть меньше исходной.
Пример:
[1, 2, 3, 4].filter(x => x > 2) → [3, 4]
reduce сводит массив к одному значению (числу, строке, объекту и т.д.), аккумулируя результат при проходе по каждому элементу. Принимает функцию с аккумулятором и текущим элементом, а также начальное значение.
Пример:
[1, 2, 3].reduce((sum, x) => sum + x, 0) → 6
Отличия:
-
map- трансформация каждого элемента (1:1). -
filter- отбор элементов (1:0 или 1:1). -
reduce- свёртка в одно значение (N:1).
Все три метода не мутируют исходный массив, что важно для чистоты кода и предсказуемости.
> Похожие задачи по frontend
Что будет при обращении к переменной var до объявления в JavaScript
Для чего нужны и как работают методы массивов map, filter и reduce в JavaScript
В чем разница Promise.all и Promise.allSettled в JavaScript и что происходит если один промис падает
Почему setTimeout выполняется после микрозадач в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью