Метод map()
Метод map(callback)
використовується для трансформації масиву. Він викликає колбек-функцію для кожного елемента вихідного масиву, а результат її роботи записує у новий масив, який і буде результатом виконання методу.
массив.map((element, index, array) => {
// Тіло колбек-функції
});
- Поелементо перебирає оригінальний масив.
- Не змінює оригінальний масив.
- Результат роботи колбек-функції записується у новий масив.
- Повертає новий масив однакової довжини.
Його можна використовувати для того, щоб змінити кожен елемент масиву. Оригінальний масив використовується як еталон, на основі якого можна зробити іншу колекцію.
const planets = ["Земля", "Марс", "Венера", "Юпітер"];
const planetsInUpperCase = planets.map(planet => planet.toUpperCase());
console.log(planetsInUpperCase); // ['ЗЕМЛЯ', 'МАРС', 'ВЕНЕРА', 'ЮПІТЕР']
const planetsInLowerCase = planets.map(planet => planet.toLowerCase());
console.log(planetsInLowerCase); // ['земля', 'марс', 'венера', 'юпітер']
// Оригінальний масив не змінився
console.log(planets); // ['Земля', 'Марс', 'Венера', 'Юпітер']
Використання анонімних стрілочних функцій з неявним поверненням суттєво скорочує «шум» оголошення колбек-функції, що робить код чистішим і простішим для сприйняття.
Масив об'єктів
Ми вже знаємо, що повсякденне завдання - це маніпуляція масивом об'єктів. Наприклад, отримати масив значень властивості з усіх об'єктів. У нас є масив студентів, а потрібно отримати окремий масив їхніх імен.
const students = [
{ name: "Манго", score: 83 },
{ name: "Полі", score: 59 },
{ name: "Аякс", score: 37 },
{ name: "Ківі", score: 94 },
{ name: "Х'юстон", score: 64 },
];
const names = students.map(student => student.name);
console.log(names); // ['Манго', 'Полі', 'Аякс', 'Ківі', 'Х'юстон']
Використовуючи метод map()
, ми можемо перебрати масив об'єктів, і в колбек-функції повернути значення властивості кожного з них.