Massiiv on kaardimeetod kasutatakse uue vastendatud massiivi ehitamiseks, tuginedes iga elemendi tagasihelistamisfunktsiooni tagasiväärtusele.
var mappedArray = massiiv.kaart (callbackFunction, thisValue)The helista tagasi on funktsioon, mida kutsutakse iga üksiku elemendi jaoks ja tagastatakse väärtus, mis salvestatakse uude massiivi. Tagasihelistamisfunktsiooni süntaks on
funktsioon (väärtus, [register [, massiiv]])väärtus on vajalik argument, mis on tegelikult massiivi üks element.
The indeks on valikuline argument, mida kasutatakse tagasihelistamisfunktsiooni iga elemendi indeksina.
The massiiv on ka valikuline argument. Selle argumendi võime edastada, kui tahame massiivi kasutada tagasihelistamisfunktsioonis.
thisValue on väärtus, mille soovime edastada, mida kasutatakse tagasihelistamisfunktsioonis "selle" nime all. Vastasel korral läheb „määratlemata”.
Javascript pakub elementide kaudu kordamiseks ja massiividega manipuleerimiseks tsüklit for… in ja foreach. Kuid miks me vajame kaardimeetodit lisaks sellele? Sellel on kaks peamist põhjust. Üks on murekohtade eraldamine ja teine on selliste ülesannete täitmise lihtne süntaks. Proovime selle eesmärgi ja õige kasutamise näitamiseks erinevaid näiteid.
Näited
Kõigepealt on meil lihtne demonstreerimine, kus meil on lihtne numbrite massiiv, millele proovime iga üksiku elemendi puhul teha mis tahes lihtsa aritmeetilise toimingu.
var arr = [4, 8, 16, 64, 49];Enne kaardimeetodi rakendamist selle massiivi kohal. Kõigepealt kirjutame tagasihelistamisfunktsiooni, millele saame helistada oma kaardifunktsioonis, milles oletame, et soovime korrutada iga elemendi 10-ga ja meil on uus massiiv.
funktsioon korruta (element)var newElement = element * 10;
return newElement;
Kõik on seadistatud kaardimeetodi rakendamiseks massiivi kohal ja nõutavate tulemuste saamiseks.
var newArr = arr.kaart (korrutada);Kui nüüd vaatame pilti “newArr”,
konsool.log (uusArr);Näeme väljundis viimast vastendatud massiivi vastavalt meie nõudele.
Pidage seda meeles, et uue vastendatud massiivi pikkus on kindlasti võrdne algse massiiviga.
Kaardi meetodil on noole või anonüümse funktsiooni abil sama ülesande täitmine lühem. Niisiis võime sellises kaardimeetodis tagasihelistamisfunktsiooni kirjutada
var newArr = arr.kaart ((element) =>tagastuselement * 10
)
Või kui tahame olla profid ja muuta see kokkuvõtlikumaks. Me suudame seda teha
var newArr = arr.kaart (e => e * 10)Hästi! Nii et see oli kaardimeetodi ja tagasihelistamisfunktsiooni kirjutamise erinevate viiside väga lihtne tutvustus. Kuid see funktsioon tuleb rohkem kasuks, kui mängime hulga objektidega. Seal toimub tõeline rakendamine.
Kaardi kasutamine objektide massiiviga
Selles näites oletame objektide massiivi, milles iga objekt sisaldab mängija teavet. Mängija nimi ja isikutunnistus.
var arr = [id: 12, nimi: "James",
id: 36, nimi: "Morgan",
id: 66, nimi: "Jordaania"
];
Oletame, et soovime ID-d igast objektist välja tõmmata ja meil on uus ID-massiiv.
Kuid selleks, et mõista, kuidas on kaardimeetod teistsugune ja aitab paremini kui foreachi silmus. Proovime mõlemat neist (kaardimeetod ja foreach loop) teha sama ülesanne ja õppida erinevust.
Niisiis, kõigepealt proovime ID-sid foreach-silmuse abil ja seejärel kasutada kaardimeetodit.
var extractedIDs = [];arr.forEach ((element) =>
tagastage extractedID.push (element.id);
)
Kui nüüd heidame pilgu väljavõtte ID-dele.
konsool.log (extractedIDs);
Meil on nad massiivis eraldatud. Kuid nüüd näitame sama väljundit kaardi meetodil.
tagastuselement.id;
)
konsool.log (extractedIDs);
Vaadates erinevust koodis ja sama väljundis, saame aru kahe (foreachi ja kaardi) meetodi tegelikust erinevusest. Murede süntaks ja lahusus.
Samamoodi saame teha palju muid toiminguid. Kui me peame mängima ja objektide massiivi pealt andmeid hankima. Oletame objektide massiivi, milles iga objekt sisaldab kahte omadust: ees- ja perekonnanimi.
var arr = [eesnimi: "John", perekonnanimi: "Doe",
eesnimi: "Morgan", perekonnanimi: "Freeman",
eesnimi: "Jordan", perekonnanimi: "Peterson"
];
Nüüd tahame saada massiivi, mis sisaldab täisnimesid. Nii kirjutame oma eesmärgi täitmiseks sellise kaardifunktsiooni
var fullName = arr.kaart ((isik) =>tagasipöörduja.eesnimi + "+ inimene.perekonnanimi
)
konsool.log (täielikNimi);
Nagu näete, on meil eraldi täisnimedega massiiv. See on suurepärane.
Need on mõned põhilised ja erinevad viisid, kuidas kaardifunktsiooni saab kasutada meie arendusnõuete täitmiseks ja mis aitab iga javascripti arendaja elus.
Järeldus
Selles artiklis oleme õppinud tundma javascripti massiividel kõige enam kasutatavat map () meetodit ja õppinud mõningaid erinevaid võimalusi kaardimeetodi kasutamiseks. Selles artiklis selgitatakse kaardimeetodi mõistet nii lihtsalt ja põhjalikult, et kõik algajad kodeerijad saaksid sellest aru ja saaksid seda kasutada oma vajaduste rahuldamiseks. Niisiis, jätkake Linuxi abil JavaScripti õppimist, töötamist ja kogemuste hankimist.com, et sellest paremini aru saada. Tänan sind väga!