> Что такое 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).

Все три метода не мутируют исходный массив, что важно для чистоты кода и предсказуемости.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью