Višedimenzionalni, asocijativni JavaScript nizovi. Rad s JavaScript nizovima

Nizovi u programskim jezicima Java i C # su dobro uređeni skup podataka. Sastoji se od elemenata kojima se pristupa pomoću indeksa. Niz u programskim jezicima Java i C # može se prikazati kao traka iste veličine ćelije. Ona ima tip koji je određen podacima. Na primjer, može postojati niz brojeva, redaka ili objekata. Stoga su sve ćelije iste veličine, jer svaka od njih zadržava istu vrstu podataka. Ako želite pohraniti različite podatke, morat ćete napraviti nekoliko različitih polja.

[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_671.jpeg

Jednostavnost korištenja nizova u programskim jezicima Java i C #

Činjenica da stanice imaju istu veličinu omogućuju vam udobno kretanje oko njih. Programer ima indekse za pristup, ali budući da je poznato da su svi podaci pohranjeni zajedno i da su fizički smješteni u određenom redoslijedu, lako je izračunati gdje su postavljeni potrebni podaci. Znajući to i koliko memorije zauzima svaka ćelija, lako je znati mjesto određenih informacija tog tipa. Na primjer, u ćeliji postoji broj, a znamo da 1 ćelija zauzima 8 bita, odnosno jedan bajt. Zatim, kako bi se premjestili na broj ćelije 3 od početka niza, moramo oduzeti dva bajta informacija, ili 16 bita. Sva ova pravila i ograničenja pri radu s nizovima u programskim jezicima Java i C # vrlo su praktični i pomažu u lakšoj navigaciji podacima.


Nizovi u javascripti njihove značajke

Budući da je javascript sve drugačije, a definicija niza nema nikakve veze s onim što je više. Niz je objekt. Podsjeća na popis elemenata i ima dodatna svojstva i metode. Vrsta i veličina elemenata u javascript nizovima nisu fiksni, a "duljina" niza ne postaje njegova gornja granica. To znači da se različite vrste podataka mogu pohraniti u jedan niz: brojevi, redovi, objekti itd. Nitko ne kontrolira što je pohranjeno u jednom bloku u smislu jezika. Veličina ćelija također nije fiksna zbog ovog svojstva matrice javascripta. Postoji pojam "duljine", ali to je samo neko svojstvo objekta, s kojim možete raditi na određeni način. Tu je i pojam asocijativnog niza u javascriptu. Takvi se objekti sastoje od parova ključ /vrijednost. Vrijednosti povezane s njima su tipke. To jest, kada se odnosi na njih vraća vrijednost ključa. Asocijativno polje u javascriptu ima nizove kao ključeve.


http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_562 .jpeg [/thumb]

Kako stvoriti niz u javascriptu

Kako bi se stvorio niz, prvo morate deklarirati varijablu myArray na sljedeći način: var myArray = []. Dobit ćemo niz bez elemenata. Koristeći klasične zagrade korištene u većini programskih jezika, stvara se prazan niz. Sada možete raditi s njim. Druga mogućnost je stvoriti niz podataka i odmah ih popuniti. Ovo može biti popis gradova, mjeseci i drugih značenja. Svi će biti smješteni u nizu javascripta u određenom redoslijedu. Prvi element ima indeks "0", dakao i kod programiranja, numeriranje uvijek počinje od nule, indeks sljedećeg elementa je "1" i tako dalje. To je način stvaranja polja pomoću uglatih zagrada, koje se preporučuje za upotrebu.

Mogućnost stvaranja polja pomoću konstruktora

Druga mogućnost je stvoriti niz pomoću konstruktora s funkcijom Array. U ovom slučaju, varijabla je deklarirana, na primjer, "a", a pomoću ključne riječi "new" postavljena je vrijednost "Array". Imenovanje varijabli jednostavnim slovima je najbolja praksa, tako da je dodjeljivanje tih vrijednosti najbolje za obrazovne svrhe, a ne za rad s kodovima. I još jedna primjedba: s dizajnerom morate biti oprezni i oprezni, jer uz njegovu pomoć možete proći ne samo popis nekih vrijednosti (na primjer, redaka) - u takvom konstruktoru ponekad postoji samo jedan broj. Ali stoga ne stvara niz s podacima koji odgovaraju tom broju. Ako napišete niz koda: "var a new =
", tada će se u polju pojaviti 5 praznih ćelija. Kada izlazimo na konzolu, dobivamo uglate zagrade s praznim razmacima, razdvojene zarezima. Ako zapišete zarez "13", tada će biti niz od dva elementa, od kojih je prvi jednak jednom, a drugi je trojstvo. Kada se referira na ovaj niz, na konzoli prikazuje popis elemenata u sljedećem obliku: [1, 3].
http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_583.jpeg

Dužina polja

Niz u javascriptu je svojstvo Length. To znači veličinu polja, njegovu duljinu. Ali ova metoda ne funkcionira uvijek ispravno. uU nekim slučajevima, stvarna duljina polja bit će sasvim različita. Stoga programer mora razumjeti i zapamtiti da ovo svojstvo zapravo ne govori stvarni broj elemenata, iako je u većini slučajeva to isto. Duljina je "indeks posljednjeg elementa + 1". Stoga, ako usporedite ovo svojstvo s istim jezikom u C #, onda bi to odgovaralo stvarnosti. A "indeks posljednjeg elementa + 1" uvijek je značio broj elemenata u nizu. Ali rad s nizovima u javascriptu razlikuje se od ostalih programskih jezika.

Promjena duljine polja

Vrijednost duljine niza može se mijenjati ručno. Na primjer, možete stvoriti jednostavan niz s tri identična elementa i prikazati duljinu njegove linije na konzoli. Bit će jednako tri. Ako sada pređemo na različite elemente tog polja, tada ćemo dobiti njihovo značenje. Ali ako se okrenemo elementu koji nije bitan, dobivamo "nedefinirano", što znači "nije definirano". U ovom slučaju, ponašanje duljine niza uopće ne počinje.
http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_674.jpeg

Kako se izračunava broj elemenata u nizu

Unatoč činjenici da nakon elementa s određenim indeksom, primjerice trećeg, još nema drugih podataka, možete odabrati vrijednost elementa s indeksom "10". Ova vrijednost dodijeljena je stavci s apsolutno bilo kojim indeksom. Tada dobivamo skup neizvjesnih vrijednosti dok ne dođemo do elementa s danom vrijednošću. Dakle, iako smo možda zapravosamo četiri elementa u nizu s nizom nesigurnosti između njih, duljina linije tako će biti jednaka "11", jer je indeks posljednjeg elementa bio broj "10", a vrijednost svojstva je izračunata kao "indeks posljednjeg elementa + 1". Stoga, ako želite saznati koliko se elemenata podataka u nizu zapravo, osim neizvjesno, ne treba oslanjati na Duljinu.

Značajke djelovanja svojstva dužine

Ako se, primjerice, opet okrenemo nizu, koji je postavljen s novim, i pokušamo zaključiti njegovu duljinu u konzoli, dobivamo 0 jer ne sadrži elemente , Ali ako primijenite isto svojstvo na polje koje je stvorio konstruktor, onda, iako je prazno, duljina linije jednaka je broju koji je bio u zagradama. Dužina će brojati sve elemente, čak i ako su prazni.
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_475.jpeg
Za niz koji sadrži popis nekoliko ne-praznih elemenata, ova vrijednost će biti jednaka njihovom broju. Vrijednost Length možete promijeniti dodavanjem željene vrijednosti nakon znaka "=". A ako ga promijenimo na neku vrijednost manju od trenutne, tada će svi elementi koji će ga slijediti biti odrezani od polja. Na primjer, ako je duljina polja pet, a Duljina dva, tada će svi elementi nakon drugog nestati prilikom pristupa. To je jedan od najjednostavnijih načina da se odsiječe dio polja koji se nalazi na njegovom kraju. Pretraživanje matrice javascripta vrši se pomoću funkcije find i metodeindexOf objekt Array.

Višedimenzionalni nizovi i njihovo stvaranje

Lako je stvoriti višedimenzionalni niz u javascriptu od objekata i drugih elemenata. Budući da vrijednosti elemenata nisu fiksne, tada se jedan niz može smjestiti u broj, objekt, liniju i drugi niz i istovremeno. Kao rezultat, dobivamo niz od četiri vrijednosti, od kojih će svaka biti zasebna vrsta. Na taj način možete stvoriti višedimenzionalne nizove u javascriptu.
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_326.jpeg
Ako postoji više u jednom nizu, tada će prvi odgovarati nultom indeksu, a drugi prvi i tako dalje. To znači da će svaki od njih biti prikazan kao element. Dvodimenzionalni niz u javascriptu je višedimenzionalni niz s 2 razine oglasa. Tu su i trodimenzionalni, četverodimenzionalni i tako dalje. Da bi se neki dio niza dobio unutar drugog polja, njegov se element također mora odnositi na indeks, na primjer: a

. Programer može stvoriti višedimenzionalne nizove u javascriptu s gotovo beskonačnim brojem elemenata.

Dodavanje i brisanje elementa niza

Budući da je niz objekt, vrijednosti njegovih elemenata su svojstva objekata. Stoga s njima možete raditi na sličan način. Briše element iz niza pomoću svojstva brisanja i pristupa indeksu. U višedimenzionalnim masivima, pri pražnjenju nekih njihovih dijelova, formira se praznina koja će biti odvojena komom. Ali ako tijekom brisanja želite druge vrijednosti za pomicanje prema gore i nema razmaka između njih, tada izbrišite elementKoristi se metoda Splice. Prihvaća dva parametra. Prvi je indeks iz kojeg želite započeti, a drugi je broj stavki koje želite izbrisati. Ova metoda omogućuje brisanje elemenata u nizu, prebacujući sve sljedeće na takav način da između njih nema razmaka. Stavku možete dodati u polje javascripta pristupanjem indeksu. Nova vrijednost već postojećeg elementa dodjeljuje se na sljedeći način: a= 5 gdje je a sam element, u uglatim zagradama se nalazi njegov indeks, a nakon znaka "=" nova je vrijednost. Potpuno novi element dodaje se uz pomoć indeksa koji još nije korišten u nizu. Ako je veličina polja u javascriptu nepoznata, možete upotrijebiti varijablu Length i upisati je kao: a [a.length] - to će biti broj koji odgovara "zadnjem indeksu +1".
[thumb] http://hi-news.pp.ua/uploads/posts/2018-07/bagatovimrn-asocativn-javascript-masivi-robota-z-masivami-javascript_997.jpeg

Pregledavanje i sortiranje nizova u javascriptu

Za raščlanjivanje niza možete koristiti poseban obrazac za petlju in in for. No, iskusni programeri ga ne preporučuju. Činjenica je da ako postavite polje pomoću konstruktora, ova metoda će dati samo jednu znamenku. Ako koristite brojač s varijablom od nule do duljine linije, možete dobiti sve elemente odjednom. Razvrstavanje polja provodi se metodom sortiranja. Ali u ovom slučaju, izvorna vrijednost treba biti spremljena ako je još uvijek potrebna u budućnosti.

Povezane publikacije