Метод map в JavaScript
Метод map
позволяет применить заданную функцию для каждого элемента массива. При этом метод не изменяет исходный массив, а возвращает измененный. Метод в параметре получает функцию, которая выполнится для каждого элемента массива. То, что вернет эта функция через return для элемента массива, станет новым значением этого элемента. В функцию можно передавать 3
параметра. Если эти параметры есть (они не обязательны), то в первый автоматически попадет элемент массива, во второй попадет его номер в массиве (индекс), а в третий - сам массив.
Синтаксис
let новый массив = массив.map(function(элемент, индекс, массив) {
код
return измененный элемент;
})
Пример
Создадим массив, каждый элемент которого вдвое больше соответствующего элемента начального массива:
let arr = [1, 2, 3, 4, 5];
let result = arr.map(function(elem) {
return elem * 2;
});
console.log(result); // [2, 4, 5, 8, 10]
Пример
Создадим массив, каждый элемент которого получается так - значение элемента умножается на его порядковый номер в массиве:
let arr = [1, 2, 3, 4, 5];
let result = arr.map(function(elem, index) {
return elem * index;
});
console.log(result); // [0, 2, 6, 12, 20]
Пример
При необходимости в третий параметр можно передать сам массив:
let arr = [1, 2, 3, 4, 5];
let result = arr.map(function(elem, index, arr) {
тут будет доступен массив arr
});