В двух словах

map() — это встроенная функция Array в JavaScript. Он помогает нам перебирать массив, вызывает предоставленный callback() для каждого элемента и возвращает новый массив с новыми результатами.

Параметры

map() принимает в качестве параметров
- текущий элемент — Текущий обрабатываемый элемент в массиве.
- индекс текущего элемента — индекс текущего обрабатываемого элемента в массиве.*Необязательно
- исходный массив — был вызван массив map. *Необязательно
- thisArgs — значение, используемое как this при выполнении callback.*Необязательно

Возвращаемое значение

map() возвращает новый массив, каждый элемент которого является результатом функции callback. Поскольку map() возвращает новый массив, он не изменяет существующий.

Подробно

  • callback вызывается с тремя аргументами: значением элемента, индексом элемента и отображаемым объектом массива.
  • Если указан параметр thisArg, он будет использоваться как значение обратного вызова this. В противном случае значение undefined будет использоваться как значение this.
  • map не изменяет массив, для которого он вызывается (хотя callback при вызове может это сделать).
  • Он не вызывается для отсутствующих элементов массива -
    индексы, которые никогда не устанавливались;
    индексы, которые были удалены
  • если массив, к которому был вызван map, является разреженным, результирующий массив также будет разреженным, сохраняя те же индексы пустыми

Выполнение

Со всей известной нам информацией о методе map() мы можем реализовать нашу пользовательскую функцию map().

Вывод

map() не сложная функция для реализации, но она может быть очень сложной. Просто нужно помнить о потребностях и ограничениях, которые у него есть.