Масивът метод на картата се използва за конструиране на нов картографиран масив въз основа на връщаната стойност на функцията за обратно извикване за всеки елемент.
var mappedArray = масив.map (callbackFunction, thisValue)The обратно извикване е функцията, която ще се извиква всеки път за отделен елемент и връща стойност, която ще се съхранява в нов масив. Синтаксисът на функцията за обратно извикване е
функция (стойност, [индекс [, масив]])стойност е необходим аргумент, който всъщност е единичен елемент от масива.
The индекс е незадължителен аргумент, който ще се използва като индекс на всеки елемент във функцията за обратно извикване.
The масив също е незадължителен аргумент. Можем да предадем този аргумент, ако искаме да използваме масива във функцията за обратно извикване.
thisValue е стойността, която искаме да предадем, която ще се използва като „това“ във функцията за обратно извикване. В противен случай ще бъде предадено „undefined“.
Javascript предоставя цикъл for ... in и foreach за итерация през елементи и манипулиране на масиви. Но защо се нуждаем от метод на картата освен това? Има две основни причини за това. Едното е разделянето на загрижеността, а второто е лесният синтаксис за изпълнение на такива задачи. Така че, нека опитаме няколко различни примера, за да демонстрираме целта и правилното му използване.
Примери
На първо място, ще имаме проста демонстрация, в която имаме прост масив от числа, върху които ще се опитаме да извършим всяка проста аритметична операция над всеки отделен елемент.
var arr = [4, 8, 16, 64, 49];Сега, преди да приложите метода map върху този масив. Първо ще напишем функция за обратно извикване, към която можем да се обадим в нашата карта функция, в която, да речем, искаме да умножим всеки елемент с 10 и да имаме нов масив.
функция умножение (елемент)var newElement = елемент * 10;
върнете newElement;
Всичко е настроено да прилага метода на картата върху масива и да има необходимите резултати.
var newArr = доп.карта (умножете);Сега, ако погледнем „newArr“,
конзола.дневник (newArr);Можем да видим най-новия картографиран масив в изхода според нашето изискване.
Имайте предвид това, че дължината на новия картографиран масив определено ще бъде равна на оригиналния масив.
Има по-кратък начин за извършване на същата задача, като използвате стрелката или анонимната функция в рамките на метод на картата. Така че, можем да напишем функция за обратно извикване в метод на карта като този
var newArr = доп.map ((елемент) =>връщащ елемент * 10
)
Или, ако искаме да бъдем професионалисти и да го направим по-кратък. Можем да направим това
var newArr = доп.карта (e => e * 10)Добре! И така, това беше съвсем основната демонстрация на метода на картата и различни начини за записване на функцията за обратно извикване. Но тази функция е по-полезна, когато играем с множество обекти. Там се случва истинското изпълнение.
Използване на Map с масив от обекти
В този пример предполагаме масив от обекти, в които всеки обект съдържа информацията на играч. Име на играча и неговата лична карта.
var arr = [id: 12, name: "James",
id: 36, name: "Morgan",
id: 66, name: "Йордания"
];
Да кажем, че искаме да извлечем идентификаторите от всеки обект и да имаме нов масив от идентификатори.
Но за да разберем как методът на картата е различен и помага по-добре от контура на foreach. Ще опитаме и двете (метод на картата и цикъл foreach), за да изпълним една и съща задача и да научим разликата.
И така, първо ще се опитаме да извлечем идентификатори с помощта на foreach цикъл и след това с помощта на метода map.
var extractedIDs = [];обр.forEach ((елемент) =>
връщане на extractedIDs.push (елемент.документ за самоличност);
)
Сега, ако разгледаме извлечените идентификатори.
конзола.дневник (extractedIDs);
Разделихме ги в масив. Но сега нека демонстрираме същия изход, използвайки метода на картата.
връщащ елемент.документ за самоличност;
)
конзола.дневник (extractedIDs);
Като разглеждаме разликата в кода и същия изход, можем да осъзнаем истинската разлика между двата метода (foreach и map). Синтаксисът и разделянето на загрижеността.
По същия начин можем да извършим много други операции. Ако трябва да играем и да получим някои данни от масива от обекти. Предполагаме масив от обекти, в които всеки обект съдържа две свойства: име и фамилия.
var arr = [firstName: "John", lastName: "Doe",
firstName: "Morgan", lastName: "Freeman",
firstName: "Jordan", lastName: "Peterson"
];
Сега искаме да имаме масив, който съдържа пълните имена. Така че, ние ще напишем функция на картата като тази, за да изпълним нашата цел
var fullName = доп.карта ((човек) =>връщане човек.firstName + "+ човек.фамилия
)
конзола.дневник (пълно име);
Както можете да видите, имаме отделен масив с пълни имена. Това е страхотно.
И така, това са някои от основните и различни начини за това как една функция на картата може да се използва за изпълнение на нашите изисквания за разработка и помага в живота на всеки разработчик на javascript.
Заключение
В тази статия научихме за най-използвания метод map () на javascript за масиви и научихме някои от различните начини за използване на метода map. Тази статия обяснява концепцията на метода на картата по толкова лесен и задълбочен начин, че всеки начинаещ програмист може да го разбере и да го използва за своите нужди. Така че, продължете да учите, работите и получавате опит в javascript с linuxhint.com, за да го разберете по-добре. Много благодаря!