Визуализация map, filter и reduce


Визуализация играет важную роль в обучении. Она помогает нам запоминать сложные идеи, в том числе и по программированию.

Отображение

map(add) применяет value + 1 ко всему массиву [1, 2, 3, 4, 5, 6, 7].

  • Выражение value + 1 применяется к каждому элементу.
  • map(add) возвращает изменённую копию, оставляя оригинал нетронутым.
  • Результат: [2,3,4,5,6,7,8]. Создана копия массива.
  • Фильтрация

    В анимации ошибка: должно быть [6,7].

  • Выражение value > 5 применяется к каждому элементу.
  • filter(test) возвращает изменённую копию. Оригинал по-прежнему доступен!
  • Результат: [6,7,8]. Соответствует условию test.
  • Cведение

    Типичный пример использования  —  суммирование цен в корзине. Функция reduce уникальна: она использует аккумулятор. Он должен иметь стартовое значение, здесь  —  0.

  • Функция F берёт значение и аккумулятор.
  • В примере reduce(F, 0)возвращает сумму элементов массива, 28.
  • Итоги

    Конечно, эти функции высшего порядка могут и должны решать различные задачи. Они не ограничены числами и могут работать с массивами объектов.


    Перевод статьи


    Поделиться статьей:


    Вернуться к статьям

    Комментарии

      Ничего не найдено.