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.
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!