TietokoneetOhjelmointi

JavaScript-array ja sen luomiseen. Kaikki JavaScript-taulukoiden

Tässä artikkelissa me tarkastelemme JavaScript-array, sen osia. JavaScript on täydellinen skenaario suuntautunut kielen suunniteltu ohjelmointia. Itse asiassa, se toteuttaa ECMAScript kielellä (vakio ECMA-262).

JavaScript? Sitä käytetään upotettu kieli, jotta voidaan määrittää polku ohjelman kohdehakemuksen. Se löytyy selaimen: sitä käytetään siellä skriptikieli, joka antaa verkkosivujen vuorovaikutteinen.

Tärkeimmät arkkitehtoniset piirteet tämän tuotteen ovat dynaamisia ja heikkoja kirjoittamalla, avtoupravlenie muisti ihanteellinen ohjelmointi toiminnot, jotka ovat esineitä ensimmäisestä vastuuvapauden.

Oikeastaan, JavaScript vaikuttanut eri syistä, koska kehitys loisi kielen samanlainen Java, mutta helppokäyttöinen ohjelmoijat. Muuten, JavaScript kieli ei omista yrityksen tai organisaation, joka erottaa sen useista ohjelmoinnin tyylien avulla useat kehittäjät.

On huomattava, että JavaScript - rekisteröity tavaramerkki Oracle Corporation Group.

Mikä on jono?

Kutsutaan array tietotyyppi, joka tallentaa numeroitu arvoja. Kukin tällainen arvo on kutsutaan array -komponentin ja luku, joka sitoo komponentti, jota kutsutaan indeksi. JavaScript-joukko tyypittömässä. Tämä tarkoittaa sitä, että kiinteät osat voivat olla mitä tahansa tyyppiä, joilla on eri osat kuuluvat samaan array, on täysin eri tyyppiä.

Lisäksi JavaScript-matriisi on dynaaminen, ja sanotaan, että kiinteä koko ei tarvitse ilmoittaa. Kun olet lisännyt uusia osia milloin tahansa.

kiinteä aine tuotanto

Käyttämällä JavaScriptiä luoda joukko varsin vaikeaa. On kaksi tapaa tähän. Ensimmäinen liittyy tuotannon array käyttäen kirjaimellisesti - on hakasuluissa, jonka sisään on sijoitettu luettelo kohteista, jaettuna pilkuilla.

  • var tyhjä = []; // tyhjä joukko;
  • var Numers = [4, 1, 2, 5]; // array viisi digitaalisia komponentteja;
  • var diff = [1,5, väärä, «teksti"]; // array kolme elementtiä erityyppisiä.

Pääsääntöisesti se ei tarvitse olla yksinkertainen arvojen (rivien ja numerot). Se voi myös olla mikä tahansa muita ilmaisuja, esimerkiksi, esine literaalien, muita toimintoja ja taulukot.

Toinen tapa luoda erilaisia suunnittelija on soittaa Array (). Kutsua hänet kolmella tavalla:

  • Soita suunnittelija ilman argumentteja: var b - uusi Array (). Se tarjoaa luomiseen tyhjä jono yhtä kuin tyhjä kirjaimellisesti [].
  • Suunnittelija on nimenomaan täsmennetään arvo n matriisin komponenttien: var b = uusi Array (1, 3, 5, 8, "linja», tosi). Tällöin suunnittelija esitteli argumenttilistalla, jotka muunnetaan uuteen array osia. Argumentit kirjoitetaan jono on paikka, jossa ilmoitettu.
  • Soveltamisalan määrittely edelleen osoitetaan arvot. Tämä tehdään määrittämällä ilmaisinryhmä useita sulkeisiin: var b = uusi Array (5). Tämä menetelmä havaitsemiseen liittyy jako joukko tarvittavat määrät komponentteja (joista kukin on lueteltu määrittelemätön), jossa on mahdollisuus siirtää arvojen esityksen. Tätä lomaketta käytetään yleensä ennalta jakaa JavaScript-matriisi, jonka pituus on etukäteen tiedossa.

Tallennus, lukeminen ja lisäämällä yksityiskohtia array

Päästä komponenttien joukko voi olla operaattorin kautta []. Muuten, kaikki komponentit JavaScript, aloitetaan nollasta, on numeroitu. Saadakseen tarvittavat elementit, osoittavat sen numero hakasuluissa. Pääsääntöisesti, kohteita voidaan muuttaa. JavaScript lisätä array, riittää määrittää uuden arvon.

On huomattava, että JavaScript-taulukoiden voi tallentaa rajoittamattoman määrän elementtejä tahansa.

Pituus array

Joten tiedämme, mitä JavaScriptiä. pituus array yleensä on mielenkiintoinen ilmiö. Mietitäänpä sitä tarkemmin. Kaikki alueet on rakennettu käyttäen Array Designer () ja havaitaan kirjaimellisesti joukko on erityinen pituus ominaisuus, joka peruuttaa alkioiden kokonaislukumäärä säästäviä. Koska joukko voi olla epävarmaa tiedot (määrittämätön Nimetyt), tarkempi ilmaisu kuulostaa niin: Laatu pituus on aina suurempi yhden kuin suurin numero (indeksi) matriisin komponentti. Laatu pituus säädetään automaattisesti, pysyä tarkkoja ulkonäkö runsaasti uusia yksityiskohtia.

Näyttämään lopullisen komponentin array, voit käyttää pituutta omaisuutta.

Viimeinen osa on indeksi yksi vähemmän kuin koko jono. Sen jälkeen, kun lähtölaskenta alkaa aina alusta. Voi, tämä JavaScript! Pituus array riippuu sen tarkka määrä elementtejä. Siksi, jos et tiedä, kuinka monta olisi, mutta sinun täytyy kääntyä lopullisen taulukon alkiota, on tarpeen soveltaa ennätys: v.length - 1.

Kerrata joukko osia

Hyvin usein, pituus ominaisuutta käytetään kerrata yli joukko osia sykli:

  • var hedelmät = [ «mansikka", "persikka", "omena", "banaani"];
  • ja (var I = 0; i
  • document.write (hedelmät [i] + «...»).

Tässä esimerkissä se näyttää siltä, että osat on järjestetty jatkuvasti ja aloittaa ensimmäisen osan, joka omistaa indeksi nolla. Jos näin ei tapahdu, ennen kuin soitat jokainen alkio on tarkistettava, jos se on määritelty.

Sykli käytetään joskus myös alustaa komponentteja.

Kasvu ja katkaisu array

Kuinkahan kielenkäytöstä JavaScript string array lisätä? Prosessissa kanssa paneelit, pituus pituus automaattisesti parantaa laatua, minkä vuoksi meidän on huolehdittava siitä itse. On tarpeen muistaa yhden yksityiskohta - pituus ominaisuus ei ole käytettävissä vain luku-, mutta ennätys. Jos laatu pituus attribuutin arvo, joka antaa koko nykyisen, array vähenee ennalta määrättyyn arvoon. Sellaiset osat, jotka eivät sisälly uuden sarjan indeksien kallistaa, ja niiden arvot menetetään, vaikka myöhemmin palata takaisin pituus - arvoja ei voi palauttaa.

Yksinkertaisesti poista array: foo.length = 0.

Jos laatu nousun pituus on suurempi kuin sen virta-arvo, lopussa array uusia, tunnistamattomia osia, mikä lisää sen haluttuun kokoon.

Poistaminen erilaisia yksityiskohtia

Delete operaattori ilmaisee komponentin array määrittämätön, mutta se on edelleen olemassa tässä tapauksessa. Jos haluat poistaa JavaScript alkiota, niin että jäljelle jäävä osa siirtyi vapaana paikka, sinun täytyy käyttää yksi tapa ennustaa jono. Menetelmä Array.shift () poistaa ensimmäisen komponentin, pop () - päättämisestä komponentti ja menetelmä liitos () - yksi komponentti tai vaihdella missä tahansa array.

moniulotteinen taulukot

Näyttäisi siltä, että ymmärtää hieman, mitä JavaScript. Kaksiulotteisia - jotka on otettava huomioon edelleen. Muistatko sen JavaScript-taulukoiden voi sisältää komponentteina muita kohteita? Tätä ominaisuutta käytetään tuotannossa moniulotteinen taulukot. Vierailla komponentit Monisirua on riittävä soveltaa suluissa kahdesti.

hakurakenne

Nyt opimme tavaramerkki hyödyntää JavaScriptiä hakurakenne. Voit tehdä tämän meidän täytyy tutkia teoriaa: hakurakenne kutsutaan joskus hash taulukoita. Kiitos heille, eikä indeksi rivien sovelletaan. Tällaisten rakenteiden muistuttaa käytön nimi ominaisuuksia yksinkertainen esine, mutta tässä suoritusmuodossa, suorituskyky työn array-muodossa. Koska ei ole keinoja manipuloida JavaScript-taulukoiden yhdistys, niitä käytetään paljon harvemmin kuin tavallisesti. On huomattava, että ne voivat silti olla hyödyllisiä datan tallentamista ja yksinkertaistaa varastointia osaan, jotka on näytetty.

lähtösarjan

Ja nyt me tutkimme JavaScript-järjestelmässä? Lähtö array valintaikkunan (näytössä), sekä lähtö taulukon arvot komponentteja.

Jos ohjelma haluat näyttää arvot kaikkien komponenttien, niin se on kätevä soveltaa ohjeita. Mielenkiintoista on, että muuttuja-laskuri käyttösäännöt samaan aikaan kuin komponentti taulukkoindeksin.

puhdistus

Suodattamiseksi joukko JavaScript, sinun täytyy nollata sen pituuden:

  • var myArray = [1, 2, 5, 23];
  • myArray.length = 0.

Seuraavassa esitetään täytäntöönpanoa määränpään selkeitä (), sellaisissa puitteissa, JavaScript-Prototype:

  • selkeä: toiminto () {;
  • this.length = 0;
  • palauttaa tämän;
  • }.

Lisäämällä ja poistamalla komponentteja

No, jatkamme tutkimaan edelleen tätä jännittävää JavaScriptiä. array elementti kuin mahdollista sekä poistaa ja lisätä samalla tavalla kuin tavanomaisia ominaisuuksia muita esineitä. Mutta joitakin eroja: lisäämällä numeerista ominaisuudet laatu pituus voi vaihdella, mutta ominaisuuksien muutoksen pituus voidaan eliminoida numeerinen laatu. Periaatteessa kun asentaa algoritmi paneelit on seuraava:

  • Kun lisätään digitaalinen ominaisuuksiltaan tuntemattoman i, jos pituus on yhtä suuri tai pienempi kuin i, pituus on määritetty olevan i + 1.
  • Kun muutat laatua pituuden suorittamaan seuraavat vaiheet: jos määritetty arvo on pienempi kuin nolla, niin heittää RangeError. Eliminoi kaikki numeeriset laatu indeksit, jotka ovat yhtä suuria kuin uuteen pituuteen, ja suurempi kuin.

Itse asiassa poistaa JavaScript ryhmän elementin on yksinkertainen. Loppujen lopuksi jopa pituuden asettamisesta, sinun täytyy poistaa "ylimääräistä" komponentteja siitä. Tästä seuraa puhdistuksen vaihtoehto array. Jos muuttuja on määritetty uusi tyhjä jono, jostain syystä eivät täyttyneet, ja on välttämätöntä palauttaa nykyiset, sen laatu on riittävän pitkä määrittää nolla.

unshift menetelmiä, muutos, pop- ja paina

Huolimatta siitä, että komponentit array muutetaan käsin, monet suosittelevat käyttämään tätä sisäänrakennettua menetelmiä. Se on tämä vivahde takaa oikean arvon laadun ja puute pituus array kulkee. Muuten, laatua oikea pituus vastaa komponenttien määrää.

Prosessi siirtyy työntää taulukon loppuun lähetettäviä tietoja. Pop takaisin prosessiin antaa lopullisen komponentin ja poistaa sen.

Yleensä Internet Explorer kahdeksannen version unshift voi palata määrittelemätön, muissa selaimissa - uusi arvo pituudesta. Jotta paluu arvon unshift parempi olla toivoa.

Lisääminen ja poistaminen osien keskellä array

Jos haluat poistaa kokoonpanon JavaScript, sinun täytyy ottaa? On tunnettua, että menetelmä on allekirjoitus liitoksen Array.prototype.splice.

Hän vetäytyy jono deleteCount komponentteja alkaen indeksiin alku. Jos ohitat yli kaksi perustelua, kaikki myöhemmät väitteet array järjestetään sijasta selvitystilaan. Jos käynnistys on miinus, indeksin, joka jatkaa peruuttaminen on yhtä suuri kuin pituus + aloittaa. Palaten joukko kauko-elementtien tapahtuu.

Itse asiassa, käyttämällä liitos menetelmällä on mahdollista poistaa komponentteja keskellä array tai lisätä mikä tahansa määrä missä tahansa ryhmän.

Yksinkertaisimmassa suoritusmuodossa, jos se on tarpeen poistaa komponentin indeksi i, array täytyy pyytää liitos menetelmä, jossa parametrien i ja 1.

Periaatteessa toinen vaihtoehto on liitos menetelmä ei ole pakollista, mutta käyttäytyminen-toiminnon argumentti kutakin selain on erilainen.

Esimerkiksi, Firefox, Opera viime variaatioita, jotka kaikki tiedot ennen taulukon loppuun poistetaan Safarissa ja kromi.

ei yksittäinen komponentti on eliminoitu IE. Ensimmäisessä muunnelmassa on mahdotonta ennustaa Operan - poistetaan yksi kohde, jolla on indeksi alku - 1. Sen vuoksi on aina tarpeen tässä menetelmässä lähettämään ainakin kaksi komponenttia.

avaimet

Tietenkin, oppiminen JavaScript, hakurakenne, kuten aiemmin mainittiin, sinun ei pitäisi myöskään unohtaa. Tämä on abstrakti näkymä tiedot (rajapinta tietovarastoon), jonka avulla voidaan tallentaa pari muotoa "(avain, arvo)" ja toimintaa lisäämällä pari tukea, sekä poistetaan ja haku avainparin:

- Löydä (avain).

- INSERT (arvo, avain).

- Poista (avain).

Uskotaan, että tällainen taulukko ei voi tallentaa kaksi paria, joilla on samanlaiset avaimet. Parin k + vv on arvo liittyy avaimella k. Semantiikka ja tässä edellä toimintaa eri toteutukset, kuten ryhmät voivat olla erilaisia.

Siten, ETSI toiminta (näppäin) palauttaa arvon, joka liittyy tietyn avaimen, tai tiettyyn kohteeseen UNDEF, mikä tarkoittaa, että arvo liittyy tiettyyn avain, offline-tilassa. Kaksi muut toimet eivät palauta (lukuun ottamatta tietoja siitä, onko operaatio oli onnistunut).

Yleensä, mitä käyttöliittymän, assosiatiivisen taulukon, jota pidetään yksinkertainen array, jossa indeksit voidaan soveltaa ei vain kokonaislukuja, mutta muita ja arvot - esimerkiksi, linjat.

Muuten, tukea tällaista paneelit käsitellään monia korkean tason ohjelmointikielet kuten PHP, Perl, Ruby, Python, Tcl, JavaScript ja muut. Kieliä varten, joilla ei ole sisäänrakennettuja työkaluja työskennellä hakurakenne, loi valtavan määrän toteutumaan kirjastojen muodossa.

Esimerkki assosiatiivisen taulukon voi toimia puhelinluettelo. Tässä suoritusmuodossa, arvo on asetettu "F. IO + e", ja avain - puhelinnumero. Yksi puhelinnumero on yksi isäntä, mutta yksi henkilö voi omistaa useita numeroita.

liittyvä laajennus

On huomattava, että tunnetuimpia laajennukset ovat seuraavat:

  • JOKAISEN - «kävellä» kaikista säästää paria.
  • CLEAR - poistaa kaikki merkinnät.
  • MIN - löytää pari, jolla on pienin avaimen arvoa.
  • MAX - löytää pari, jolla on suurin avaimen arvoa.

Viimeisessä kahdessa tapauksessa joudut näppäimissä ilmoitettu vertailun vaikutus.

Toteuttaminen hakurakenne

On olemassa monia erilaisia toteutuksia jotka ovat taulukon. Yleisin toteutus voi perustua yksinkertainen joukko, jonka komponentit ovat pareittain (arvo avain). Nopeuttaa hakutoiminnot, voit järjestää osia array jonka keskeinen havainto ja toteuttaa käyttämällä binäärihaku. Mutta se lisää tarvittava aika lisätä uusi pari, sillä täytyy "työntää" array komponentteja, jotka esiintyivät tyhjä alkio pakata tuoretta kirjaa.

Tunnetuin täytäntöönpanoa, jotka perustuvat eri hakupuita. Esimerkiksi tyypillisessä lukusali STL C ++ kielen perävaunut kartan toteutetaan pohjalta mustan ja mahonki. Ruby, tyylejä, TCL, Python käytetään yhdenlaista hash taulukoita. On muitakin toteuttamista.

Yleensä kukin täytäntöönpano on omat etunsa ja haittansa. On tärkeää, että kaikki kolme toimenpidettä täyttyivät keskimäärin ja pahimmassa aikana vivahde noin (log n), jossa n - nykyinen määrä pelastaa par. Yhtenäistä hakupuita (kuten musta ja punainen puut), tämä ehto täyttyy.

Tiedetään, että toteutukset perustuvat hash taulukoita, keskimääräinen aika määritellään D (1), joka on parempi kuin toimet perustuvat hakupuita. Tietenkään tämä ei takaa nopean suorituskyvyn erillisiä toimituksia: INSERT toiminta aika pahimmassa tapauksessa merkitään O (n). INSERT prosessi suoritetaan pitkän ajan tullin suhde saavuttaa korkein kohta, ja on tarpeen rekonstruoida tiiviste indeksi.

Muuten, nämä lausunnot hash huono, että tällä perusteella on mahdotonta tehdä nopeita lisätoimia MAX, MIN ja algoritmi etsiä kaikki säästää paria alenevassa järjestyksessä tai nouseva avaimia.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fi.atomiyme.com. Theme powered by WordPress.