JavaScript

Javascriptová mapa

Javascriptová mapa
V tomto článku sa naučíme jednu z najbežnejšie používaných metód pre pole, ktorou je metóda map (). Metóda mapy pomáha pri mapovaní polí podľa našich požiadaviek. Pozrime sa, čo je to metóda map ()? Aká je syntax pre mapovanie polí pomocou metódy map ()?

Pole mapová metóda sa používa na konštrukciu nového mapovaného poľa na základe návratovej hodnoty funkcie spätného volania pre každý prvok.

var mappedArray = pole.mapa (callbackFunction, thisValue)

The zavolaj späť je funkcia, ktorá sa bude volať zakaždým pre jeden prvok a vráti hodnotu, ktorá sa uloží do nového poľa. Syntax pre funkciu spätného volania je

funkcia (hodnota, [index [, pole]])

hodnotu je nevyhnutný argument, ktorý je v skutočnosti jedným prvkom poľa.
The index je voliteľný argument, ktorý sa použije ako index každého prvku vo funkcii spätného volania.
The pole je tiež voliteľný argument. Tento argument môžeme odovzdať, ak chceme použiť pole vo funkcii spätného volania.

thisValue je hodnota, ktorú chceme odovzdať, ktorá sa použije ako „táto“ vo funkcii spätného volania. V opačnom prípade bude prijaté „nedefinované“.

Javascript poskytuje slučku for ... in a foreach na iteráciu cez prvky a manipuláciu s poľami. Prečo však okrem toho potrebujeme mapovú metódu? Existujú pre to dva hlavné dôvody. Jedným z nich je oddelenie záujmov a druhým ľahká syntax pre vykonávanie takýchto úloh. Skúsme teda niekoľko rôznych príkladov, ktoré demonštrujú účel a správne použitie.

Príklady

Najskôr budeme mať jednoduchú ukážku, v ktorej budeme mať jednoduché pole čísel, na ktorých sa pokúsime vykonať ľubovoľnú jednoduchú aritmetickú operáciu nad každým jedným prvkom.

var arr = [4, 8, 16, 64, 49];

Teraz pred aplikáciou metódy mapy na toto pole. Najskôr napíšeme funkciu spätného volania, na ktorú môžeme volať v našej mapovej funkcii, v ktorej povedzme chceme každý prvok vynásobiť číslom 10 a mať nové pole.

funkcia znásobiť (prvok)
var newElement = prvok * 10;
vrátiť newElement;

Všetko je nastavené tak, aby použilo metódu mapy na celé pole a malo požadované výsledky.

var newArr = arr.mapa (násobenie);

Teraz, keď sa pozrieme na „newArr“,

konzola.log (newArr);

Na výstupe vidíme najnovšie mapované pole podľa našej požiadavky.


Pamätajte na to, že dĺžka nového mapovaného poľa bude určite rovnaká ako pôvodné pole.

Rovnakú úlohu môžete vykonať kratšie pomocou šípky alebo anonymnej funkcie v rámci metódy mapy. Môžeme teda napísať funkciu spätného volania v rámci mapovej metódy, ako je táto

var newArr = arr.mapa ((prvok) =>
návratový prvok * 10
)

Alebo ak chceme byť profesionálmi a urobiť to výstižnejšími. Zvládneme to

var newArr = arr.mapa (e => e * 10)

Dobre! Išlo teda o úplne základnú ukážku mapovej metódy a rôznych spôsobov zápisu funkcie spätného volania. Táto funkcia nám ale príde vhod, keď sa hráme s radom objektov. Tam nastáva skutočná implementácia.

Používanie mapy s poľom objektov

V tomto príklade predpokladáme pole objektov, v ktorých každý objekt obsahuje informácie hráča. Meno hráča a jeho ID.

var arr = [
id: 12, meno: "James",
id: 36, meno: "Morgan",
id: 66, meno: "Jordan"
];

Teraz povedzme, že chceme extrahovať ID z každého objektu a mať nové pole ID.
Aby sme však pochopili, v čom je metóda mapy iná a pomáha lepšie ako slučka foreach. Pokúsime sa obidve tieto metódy (metóda mapy a slučka foreach), aby vykonali rovnakú úlohu a naučili sa rozdiel.

Najprv sa teda pokúsime extrahovať ID pomocou slučky foreach a potom pomocou metódy mapy.

var extrahovanéID = [];
prírastok.forEach ((element) =>
vrátiť extrahované ID.tlačiť (prvok.id);
)

Teraz, keď sa pozrieme na extrahované ID.

konzola.log (extrahovanéID);


Máme ich oddelené v rade. Teraz si však ukážme ten istý výstup pomocou metódy mapy.

var extrahované ID = arr.mapa ((prvok) =>
návratový prvok.id;
)
konzola.log (extrahovanéID);


Pohľadom na rozdiel v kóde a na rovnakom výstupe si môžeme uvedomiť skutočný rozdiel medzi týmito dvoma metódami (foreach a map). Syntax a oddelenie obáv.

Podobne môžeme vykonať množstvo ďalších operácií. Ak musíme hrať a získavať nejaké údaje z poľa objektov. Predpokladáme pole objektov, v ktorom každý objekt obsahuje dve vlastnosti: meno a priezvisko.

var arr = [
firstName: "John", lastName: "Doe",
meno: "Morgan", priezvisko: "Freeman",
firstName: "Jordan", lastName: "Peterson"
];

Teraz chceme mať pole, ktoré obsahuje celé mená. Napíšeme teda takú mapovú funkciu, aby sme splnili náš účel

var fullName = arr.mapa ((osoba) =>
návratová osoba.firstName + "+ osoba.priezvisko
)
konzola.log (fullName);


Ako vidíte, máme samostatné pole s celými menami. To je skvelé.

Toto je niekoľko základných a rôznych spôsobov, ako je možné použiť funkciu mapy na splnenie našich vývojových požiadaviek a pomáha v živote každého vývojára javascriptov.

Záver

V tomto článku sme sa dozvedeli o najbežnejšej metóde mapy () javascript pre polia a naučili sme sa niektoré z rôznych spôsobov použitia metódy mapy. Tento článok vysvetľuje koncepciu mapovej metódy takým ľahkým a hlbokým spôsobom, že jej môže porozumieť každý kodér začiatočníka a využiť ju pre svoje potreby. Neustále sa teda učte, pracujte a získajte skúsenosti v jazyku javascript s linuxhint.com, aby ste to lepšie pochopili. Ďakujem ti veľmi pekne!

Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...
Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...