как работают методы массивов map filter и reduce — Q&A Хекслет
2026-02-26 18:25 Diff

Ответы

Методы массивов map(), filter() и reduce() — это встроенные функции в JavaScript, которые помогают удобно обрабатывать элементы массивов. Каждый из этих методов решает свою задачу и является частью функционального программирования. Давайте рассмотрим их подробнее.

Метод map() преобразует каждый элемент массива и создает новый массив с результатами.

  1. map проходит по каждому элементу массива.
  2. Для каждого элемента вызывает функцию и передает элемент и его индекс.
  3. Возвращенное значение добавляется в новый массив.
  4. Возвращается новый массив, оригинальный остается без изменений.

Метод filter() отбирает элементы массива по заданному условию и создает новый массив с подходящими элементами.

  1. filter() проходит по каждому элементу массива.
  2. Для каждого элемента вызывает функцию и передает элемент и его индекс.
  3. Если функция возвращает true, элемент добавляется в новый массив; если false — пропускается.
  4. Возвращается новый массив с отобранными элементами, оригинальный остается неизменным.

Метод reduce() обрабатывает массив и сводит его к единственному значению (например, сумме элементов).

Пример:

  1. reduce() начинает с первого элемента массива (или с initialValue).
  2. Для каждого элемента (начиная со второго) вызывает функцию, передавая аккумулятор и текущий элемент.
  3. Функция возвращает новое значение аккумулятора для следующей итерации.
  4. После обработки всех элементов возвращается итоговое значение.

Итог

  • map() — для преобразования элементов.
  • filter() — для выбора элементов по условиям.
  • reduce*() — для сворачивания массива в одно значение.

Эти методы делают код более чистым и читаемым, избавляя от необходимости использовать циклы for