Рубрики
Без рубрики

метод map() объяснен: JS

Методы JavaScript – это действия, которые могут быть выполнены с объектами. Итак, вот мой новый пост в блоге, который я приведу… С тегами javascript, webdev, 100daysofcode, java.

Методы JavaScript – это действия, которые могут быть выполнены с объектами. Итак, вот мой новый пост в блоге, в котором я расскажу о двух методах JavaScript map() и filter() . Объясню легко и подробно.

-> Метод map() используется для применения функции к каждому элементу массива, а затем возвращает новый массив. Давайте взглянем на синтаксис:-

let newArray = array.map( (v, i, a) => {
    // return element to newArray
});

// newArray - the new array that is returned
// array - the array to run the map function on
// v - the current value being processed
// i - the current index of the value being processed
// a - the original array

Метод map() можно рассматривать как цикл for, предназначенный специально для преобразования значений. Давайте взглянем на этот пример:

let nums = [11, 12, 13, 14];
let minus10 = [];
for(let i = 0; i < nums.length; i++) {
    minus10[i] = nums[i] - 10;
 }

Код приводит к созданию нового массива, в котором каждое значение старого массива уменьшается на 10. Да, это работает, но есть более простой способ добиться того же результата.

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

let nums = [11, 12, 13, 14];
let minus10 = nums.map(value => value - 10);
  // minus10 = [1, 2, 3, 4]

Просто смотри. Без какой-либо петли

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

Здесь, в этом примере, мы будем использовать как аргументы value, так и index.

let nums = [11, 12, 13, 14];
let newArray = nums.map( (v, i) => {
  return {
     value: v,
     index: i
   };
});

// newArr = [
// {value: 11, index: 0},
// {value: 12, index: 1},
// {value: 13, index: 2},
// {value: 14, index: 3}
//   ]

Я думаю, теперь вы видите, что все, что мы возвращаем в методе map() , используется для создания нового массива. Вы можете использовать текущее значение, текущий индекс или даже весь массив, чтобы определить, что возвращать.

let nums = [11, 12, 13, 14]; 
let cats = nums.map ( ( ) => 'cats');
 // cats = [`cat`, `cat`, `cat`, `cat` ]

До сих пор все примеры преобразовывали все значения в старом массиве. Давайте рассмотрим способ преобразования некоторых значений в нашем массиве.

let nums = [11, 12, 13, 14]; 
ley newArr = nums.map(v => v % 2 === 0 ? v * 2 : v);
  // newArr = [11, 24, 13, 28];

Сначала мы проверили, имеет ли значение, разделенное на два, остаток от нуля. Если остаток равен нулю, мы вернем v * 2 или удвоим текущее значение.

Оригинал: “https://dev.to/rahxuls/map-method-explained-3g6m”