JavaScript

Javascript карта

Javascript карта
В тази статия ще научим един от най-широко използваните методи за масива, който е метод map (). Методът на картата помага при картографиране на масиви според нашите изисквания. Нека да видим, какво е метод map ()? Какъв е синтаксисът за картографиране на масиви с помощта на метода map ()?

Масивът метод на картата се използва за конструиране на нов картографиран масив въз основа на връщаната стойност на функцията за обратно извикване за всеки елемент.

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);


Разделихме ги в масив. Но сега нека демонстрираме същия изход, използвайки метода на картата.

var extractedIDs = обр.map ((елемент) =>
връщащ елемент.документ за самоличност;
)
конзола.дневник (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, за да го разберете по-добре. Много благодаря!

Топ 5 карти за залавяне на игри
Всички сме виждали и обичаме поточни игри в YouTube. PewDiePie, Jakesepticye и Markiplier са само някои от най-добрите геймъри, които са спечелили мил...
Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...
Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...