Top.Mail.Ru

Функция Map в JavaScript. Описание и сфера применения

Функция map() в JavaScript — это часть одноименного метода «map». Функция map()
представляется для каждого элемента массива отдельно один раз для сортировки и
выборки необходимого нам значения. Поэтому она от всех элементов массива
возвращает нужный нам аргумент и формирует из всех полученных аргументов
новый массив.

Функция map() в JavaScript

Метод «map» в JavaScript не изменяет сам массив, для которого он применяется. Его
цель только «выбрать» из массива необходимые нам данные. Иногда бывает так,
что в момент выполнения функции map(), происходят изменения данных в
обрабатываемом массиве. В этом случае, функция map() соберет те данные,
которые были у элементов массива в момент ее «прохождения» массиву.
Если элемент массива удалили до их посещения функцией, то такой элемент не
будет посещен.
Метод «map» в JavaScript поддерживается всеми современными браузерами,
поэтому его смело можно использовать в своих целях

Пример, JS

Давайте представим, что у вас есть какой-то массив с большим количеством
объектов. Каждый отдельный объект — это человек с его собственными данными:

  • имя,
  • фамилия,
  • отчество
  • пол,
  • адрес,
  • возраст,
  • рост,
  • вес,
  • цвет волос,
  • цвет глаз,
  • наличие семьи,
  • образование,
  • любимый фильм,
  • любимая книга,
  • и др.

Но вас абсолютно не интересуют все эти данные, так как вам из всего этого
«обилия» нужен только номер паспорта людей, для того чтобы разослать им
индивидуальные купоны со скидкой в 80% на покупки в вашем интернет-магазине.
У вас есть примерно такой массив с данными:

const clients = [
{ passport: ‘00000001’, name: ‘Булгаков Михаил Афанасьевич’, age: 43, sex:
‘m’ },
{ passport: ‘00000002’, name: ‘Толстой Лев Николаевич’, age: 45, sex: ‘m’ },
{ passport: ‘00000003’, name: ‘Достоевский Федор Михайлович’, age: 37,
sex: ‘m’ },
{ passport: ‘00000004’, name: ‘Гоголь Николай Васильевич’, age: 42, sex: ‘m’
},
{ passport: ‘00000005’, name: ‘Ахматова Анна Андреевна’, age: 29, sex: ‘f’ },
{ passport: ‘00000006’, name: ‘Толстой Алексей Николаевич’, age: 41, sex:
‘m’ },
]
Вам из массива нужно получить номер паспорта. Язык программирования JavaScript
предлагает несколько решений этой задачи. Но нас интересует именно
использование функции map() в JS. Для этого нужно применить простой скрипт:

const passports = clients.map(function(client) {
return client.passport;
});
// Поклонники стрелочных функций могут взять на заметку стрелочное исполнение
map()
const passports = clients.map(client => client.passport);
Работает это просто: мы вызываем возвратную функцию map(), которая
последовательно «прочесывает» каждый элемент массива и возвращает нам
паспортные данные, из которых формируется новый массив. Все,мы можем
отправлять клиентам скидки!

Возможно вам будет интереесно почитать статью “Что такое Webpack?”

Заключение

Функция map() в JS призвана упростить работу с массивами. Помимо нее у
JavaScript есть и другие методы сортировки массивов. Поэтому, если вам показался
сложным метод «map» в JavaScript, то можете попробовать методы:

  • «forEach»;
  • «filter»;
  • «reduce».

Подробнее о каждом из них мы поговорим в следующих наших статьях.

Text.ru - 100.00%
Поделитесь с друзьями