Koduleht » Kodeerimine » 3 asjad, mida JavaScript-i array'dest ei tea

    3 asjad, mida JavaScript-i array'dest ei tea

    Vahendid on programmeerimiskeelte laialdaselt kasutatav funktsioon; nemad on erilised muutujad mida saab kasutada mitme väärtuse üheaegseks salvestamiseks. Siiski, kui tegemist on JavaScriptiga, on nii lihtne kui õppida, alati rohkem uurida.

    Selles postituses vaatleme kolm vähem tuntud, siiski olulist omadust JavaScripti massiividest, mida te pole varem teadnud.

    1. Lisage Arrays-le kohandatud omadused

    Kui sa soovid Internetist otsida JavaScript-massiivi põhjalikust määratlusest, leiad, et peaaegu iga allikas ilma ebaõnnestumiseta loetleb massiivi kui seda tõesti on, objekt.

    Tegelikult peaaegu kõik, mida me JavaScript-i raames tegeleme osutuda objektiks. JavaScriptis on kahte tüüpi andmetüüpe, primitiivid ja objektid, aga primitiivid on alati sisestatud objektide sees.

    Array, Function, Date jne on eelnevalt määratud JavaScript-objektid millel on sisseehitatud meetodid, omadused ja nende standardne süntaks.

    JavaScripti massiivid võivad olla kolm erinevat tüüpi omadusi:

    1. Massiivi indeksid on ka omadused
    2. Sisseehitatud omadused
    3. Kohandatud omadused saate ise lisada

    Kaks esimest on rohkem tuntud, võite neid kasutada iga päev, kuid vaatame neid kiiresti, enne kui hüpata, kuidas lisada oma kohandatud omadusi massiivile.

    Indeksid atribuutidena

    JavaScripti massiivid kasutavad nurksulgude süntaks, nagu näiteks var ary = ["oranž", "õun", "litš"];.

    Massiivi elementide indeksid on põhiliselt omadused kus vara nimed on alati mitte-negatiivsed täisarvud.

    The indeksielemendi paar massiivi on sarnane võtmeväärtuse paar objekti.

    Indeksid on Array objekti ainulaadne omadus ja erinevalt teistest sisseehitatud omadustest võivad nad olla seada ainult sulgudega, nagu näiteks ary [3] = "virsik";.

    Sisseehitatud omadused

    Samuti on massiivid sisseehitatud omadused, nagu näiteks array.length. The pikkus vara kannab täisarvu tähistab massiivi pikkust.

    Üldiselt võib sisseehitatud omadusi sageli leida eelnevalt määratletud JavaScript-objektides nagu massiivid. Koos sisseehitatud meetoditega aitavad nad kaasa kohandage üldisi objekte nii, et objektid sobiksid erinevate vajadustega.

    Sisseehitatud omadusi saab kasutada kas objekt.key või objekt ["võti"] süntaks. Nii saate ka kirjutada ary ["pikkus"] massiivi pikkuse avamiseks.

    Loo Array objekti jaoks kohandatud atribuudid

    Räägime nüüd oma omaduste lisamine massiividele. Vahendid on eelnevalt määratletud objektid, mis salvestavad erinevat tüüpi väärtusi erinevatel indeksitel.

    Tavaliselt pole massiivi jaoks kohandatud omaduste lisamiseks palju vaja; see on üks põhjus, miks algajatele tavaliselt seda funktsiooni ei õpetata. Tegelikult, kui soovite massiivi nagu tavalist objekti töödelda, lisage sellele ka võtmeväärtuse paare kasutage tavalisel objektil oma eesmärki. Aga see ei tähenda, et seal pole erijuhtudel kus saab kasutada asjaolu, et massiiv on objekt, lisades sellele ühe või mitu kohandatud omadust.

    Näiteks saate massiivile lisada kohandatud omaduse identifitseerib selle elementide "liigi" või "klassi", nagu näete allpool toodud näites.

     var ary = ["oranž", "õun", "litš"]; ary.itemClass = "puuviljad"; console.log (ary + "on" + ary.itemClass); // "oranž, õun, litsi, puuviljad" 

    Pange tähele, et massiivile lisatud kohandatud omadus on loendatav, mis tähendab, et seda tõstavad sellised silmused nagu … jaoks avaldus.

    2. Loop läbi Array Elements

    Sa ilmselt ütled "Ma tean, et juba", mis on tõenäoliselt tõsi, te juba teate, kuidas läbi massiivi elemente minna. Kuid see on ka tõsi, et öeldes "silmus läbi massiivi elementide" on natuke abstraktne, sest see, mida me tegelikult läbime, on massiivi indeksid.

    Kuna massiivindeksid koosnevad ainult mitte-negatiivsed täisarvud, me kordame täisarvu, mis algab tavaliselt nullist ja lõpeb massiivi kogu pikkusega, seejärel kasutage seda iteratsiooni väärtust, et pääseda massiivi elemendile antud indeksis.

    Siiski, kuna ECMAScript6 on olemas võimalus otse silmus läbi massiivi väärtuste ilma indekseerimata ja seda saab teha silmus.

    Massiivis on silmus silub läbi massiivi elementide indeksite järjekorras, teisisõnu hoolitseb see indekseerimise kordumise eest ja saada olemasolev massiivi väärtus antud indeksis. See ahel on ideaalne, kui tahad lihtsalt läbi kõik massiivi elemendid ja töötada nendega.

     var ary = ["oranž", "õun", "litš"]; for (lase ary) console.log (item);  // "oranž", "õun", "litš" 

    Võrdluseks, tavalise jaoks silmus, saame indeksite asemel väljundid.

     var ary = ["oranž", "õun", "litš"]; jaoks (var kirje = 0; üksus < ary.length; item++) console.log(item);  // 0, 1, 2

    3. Elementide arv ei ole selle pikkus

    Tavaliselt, kui me räägime massiivi pikkus, arvame, et see on kas massiivi väärtuse arv või massi käsitsi antud pikkus. Kuid tegelikkuses sõltub massiivi pikkus suurim olemasolev indeks sees.

    Pikkus on a väga paindlik vara. Kas olete masina pikkuse juba eelnevalt kinnitanud või mitte, kui lisate massiivi väärtusi, selle pikkust kasvab vastavalt.

     var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6

    Ülaltoodud näites näete, et ma andsin massiivile ainult ühe väärtuse indeksi 5 juures ja pikkus on 6. Nüüd, kui arvate, et väärtuse lisamisel indeksile 5, massiiv lõi massiivi 0 kuni 4 automaatselt siis teie eeldus on vale. Seal on tõesti olemasolevaid näitajaid 0 kuni 4 selles massiivis. Seda saab kontrollida kasutades sisse operaator.

     var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 konsool.log (0 in ary); // vale

    Massiiv ary see, mida me nimetame a "hõre" massiiv, massiiv, kus indeksid ei ole pidevalt loodud, ja on lüngad. "Hõreda" massiivi vastand on "tihe" massiiv kus indeksid on massiivis pidevalt olemas ja elementide arv on sama mis pikkus.

    The pikkus vara on samuti võimeline massiivi kärpimine, veendumaks, et massiivi kõrgeim indeks on alati vähem kui ise, nagu pikkus on alati arvuliselt suurem kui kõrgeim indeks.

    Alltoodud näites näete, kuidas me kaotame elementi 5 elementi, vähendades pikkus selle ary massiivi.

     var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary pikkus = 2; console.log (ary.length); // 2 konsooli.log (ary [5]); // määratlemata

    Lisalugemist

    • 10 JavaScript-terminit, mida peaksite nüüd teadma
    • 4 mitte-nii levinud, kuid kasulikud Javascripti avaldused, mida peaksite teadma
    • Koodi optimeerimine koos JS Hintiga - Javascripti lintimise vahend