3 stvari, ki jih ne poznate, JavaScript polja
Nizi so pogosto uporabljena značilnost programskih jezikov; so posebne spremenljivke ki se lahko uporablja za hkratno shranjevanje več vrednosti. Vendar, ko gre za JavaScript, tako enostavno, kot se ga je treba naučiti, je vedno treba raziskati.
V tej objavi si bomo ogledali tri manj znane, vendar pomembne lastnosti JavaScript polj, ki jih morda še niste poznali.
1. Dodajte lastnosti po meri v polja
Če želite preiskati internet in iskati temeljito definicijo JavaScript-nizov, boste ugotovili, da bo skoraj vsak vir brez izjeme navedel polje, kot ga resnično je, predmet.
Pravzaprav bo skoraj vse, s čimer se ukvarjamo v JavaScriptu izkaže, da je predmet. V JavaScriptu obstajata dve vrsti podatkovnih tipov, primitivci in predmetov, ampak Primitivi so vedno zaviti znotraj predmetov.
Matrika, funkcija, datum itd vnaprej določenih predmetov JavaScript ki imajo vgrajene metode, lastnosti in lastno standardizirano skladnjo.
JavaScript polja lahko imajo tri različne vrste lastnosti:
- Indeksi matrike so tudi lastnosti
- Vgrajene lastnosti
- Lastnosti po meri lahko dodate sami
Prva dva sta bolj znana, lahko ju uporabljate vsak dan, vendar ju lahko hitro vidimo, preden skočite v način, kako lahko dodate lastno lastnost po meri v polje.
Indeksi kot lastnosti
JavaScript polja uporabljajo sintaksa s kvadratnimi oklepaji, kot naprimer var ary = ["oranžna", "jabolka", "liči";
.
Indeksi elementov matrike so v osnovi lastnosti kje za lastnine so vedno ne-negativna cela števila.
The par indeksnih elementov matrike je podobna par ključ / vrednost predmeta.
Indeksi so edinstvena značilnost predmeta Array in za razliko od drugih vgrajenih lastnosti so lahko s sintakso v oklepajih, kot naprimer ary [3] = "breskev";
.
Vgrajene lastnosti
Polja imajo tudi vgrajene lastnosti, kot naprimer array.length
. The dolžino
lastnost nosi celo vrednost, ki označuje dolžino matrike.
Na splošno lahko vgrajene lastnosti pogosto najdemo v vnaprej določenih objektih JavaScripta, kot so nizi. Skupaj z vgrajenimi metodami pomagajo prilagodite generične objekte tako, da bodo objekti primerni za različne potrebe.
Do vgrajenih lastnosti lahko dostopate s funkcijo object.key
ali object ["key"]
skladnjo. Torej lahko tudi pišete ary ["length"]
za dostop do dolžine matrike.
Ustvarite lastnosti po meri za objekt matrike
Zdaj pa se pogovorimo dodajanje lastnih lastnosti v polja. Nizi so vnaprej definirani objekti, ki shranjujejo različne vrste vrednosti pri različnih indeksih.
Običajno ni treba dodajati lastnosti po meri matriki; to je eden od razlogov, zakaj se začetniki običajno ne učijo o tej funkciji. Pravzaprav, če želite obravnavati matriko kot običajen objekt, tako da ji dodate pare ključa in vrednosti, bi lahko tudi uporabite običajni predmet za svoj namen. Ampak to ne pomeni, da ni posebnih primerih kjer lahko uporabite dejstvo, da je matrika objekt, tako da mu dodate eno ali več lastnosti po meri.
Na primer, lastnost po meri lahko dodate matriki, ki opredeljuje "vrsto" ali "razred" njegovih elementov, kot ga lahko vidite v spodnjem primeru.
var ary = ["oranžna", "jabolka", "liči"; ary.itemClass = "plodovi"; console.log (ary + "so" + ary.itemClass); // "pomaranča, jabolko, liči, sadje"
Upoštevajte, da je lastnost po meri, ki jo dodate matriki enumerable, kar pomeni, da ga bodo pobirale zanke, kot je za… v
izjavo.
2. Obkrožite elemente matrike
Verjetno pravite "vem, da že", kar je najverjetneje res, že veste, kako iti skozi elemente matrike. Res pa je tudi, da je izgovor "zanki skozi matrične elemente" nekoliko abstrakten, kajti tisto, kar dejansko zavrtimo, so indeksi matrike.
Ker so indeksni indeksi sestavljeni le iz ne-negativna cela števila, ponavljamo celoštevilčno vrednost, ki se običajno začne od ničle in konča s celotno dolžino matrike, nato pa uporabimo to ponovljeno vrednost za dostop do elementa matrike v danem indeksu.
Vendar od ECMAScript6 obstaja način, da neposredno z vrednostmi matrike brez motenj z indeksi in to lahko storite z uporabo za… od
zanke.
V matriki, za… od
Zanka bo zanke skozi elemente matrike po vrstnem redu indeksov, z drugimi besedami bo poskrbel za ponovitev indeksov in pridobivanje obstoječe vrednosti polja na dani indeks. Ta zanka je idealna, če želite samo zavrteti vse elemente matrike in delati z njimi.
var ary = ["oranžna", "jabolka", "liči"; za (let item of ary) console.log (postavka); "oranžna", "jabolka", "liči"
Za primerjavo, z redno za
zanke, namesto vrednosti dobimo indekse.
var ary = ["oranžna", "jabolka", "liči"; za (var item = 0; postavka < ary.length; item++) console.log(item); // 0, 1, 2
3. Število elementov ni njegova dolžina
Običajno, ko govorimo o dolžina polja, mislimo, da je to število ali vrednost, ki jo ima polje, ali dolžino, ki smo jo dali matriki ročno. V resnici pa je dolžina polja odvisna od največji obstoječi indeks znotraj njega.
Dolžina je a zelo prilagodljiva lastnina. Ne glede na to, ali ste že določili dolžino matrike ali ne, če dodajate vrednosti v polje, njegovo dolžino ustrezno povečuje.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); 6
V zgornjem primeru lahko vidite, da sem matriki dal samo eno vrednost pri indeksu 5, dolžina pa je 6. Sedaj, če mislite, da je z dodajanjem vrednosti v indeksu 5 matrika samodejno ustvarila indekse 0 do 4 samodejno , potem vaša predpostavka je napačna. Res so obstoječih indeksov od 0 do 4 v tem polju. To lahko preverite z uporabo v
operaterja.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 console.log (0 inarnih); // false
Niz nih
imenujemo a "redka" matrika, polje, kjer so indeksi niso ustvarjeni neprekinjeno, in imajo vrzeli. Nasprotje "redke" matrike je "gosta" matrika kjer so indeksi v matriki stalno prisotni, število elementov pa je enako kot. \ t dolžino
.
The dolžino
lastnina je prav tako sposobna obrezovanje polja, poskrbite, da je najvišji indeks, ki je prisoten v polju, vedno manj kot sam, kot dolžino
je vedno numerično večji od najvišjega indeksa.
V spodnjem primeru lahko vidite, kako izgubimo element pri indeksu 5 z zmanjšanjem dolžino
od nih
matrika.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ary [5]); // nedoločeno
Nadaljnje branje
- 10 izrazov JavaScript, ki bi jih morali poznati do sedaj
- 4 ne tako pogosti, a koristni stavki Javascript, ki bi jih morali poznati
- Optimizacija kode z JS namigom - orodje za brisanje Javascripta