JavaScript-array ja sen luomiseen.

Tässä artikkelissa me tarkastelemme JavaScript-array, sen osia.JavaScript on täysin suuntautunut skriptikieli, luotu ohjelmointi.Itse asiassa, hän tajuaa kieli ECMAScript (ECMA-262 standardi).

Jos käyttää JavaScript?Sitä käytetään upotettu kieli, jotta voidaan määrittää polku kohde sovelluksesta.Se löytyy selaimen: sitä käytetään siellä skriptikieli, joka antaa interaktiivisuutta verkkosivuja.

tärkeä arkkitehtuurin piirteitä tämän tuotteen ovat dynaamisia ja heikkoja kirjoittamalla, avtoupravlenie muisti, ihanteellinen ohjelmointi toiminnot, jotka ovat esineitä ensimmäiseen luokkaan.

Oikeastaan ​​JavaScript vaikuttanut eri syistä, koska kehitys loisi kieli samanlainen Java, mutta helppokäyttöinen ohjelmoijat.Muuten, JavaScriptiä ei omista yritys tai organisaatio, joka erottaa sen useista ohjelman tyylejä käyttää web-kehittäjille.

Huomaa että JavaScript - rekisteröity tavaramerkki huolta Oracle Corporation.

Mikä on array?

nimeltään Array tietojen tyyppi, joka tallentaa numeroitu arvoja.Kukin tällainen arvo kutsutaan komponenttina array, ja määrä, jonka komponentti on nimeltään indeksi.JavaScript-tyypittömässä array.Tämä tarkoittaa, että tiedot array voi olla mitä tahansa tyyppiä, eri kohteita kuuluvat samaan valikoimaan, on täysin eri tyylejä.

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

Manufacturing array

käyttäminen kieli JavaScript, luoda joukko varsin vaikeaa.On olemassa kaksi tapaa tästä.Ensimmäinen liittyy tuotannon matriisi kirjaimellisesti - on hakasulkeissa, joiden sisällä on sijoitettu luettelo kohteista, jaettuna pilkuilla.

  • var tyhjä = [];// Tyhjä matriisi;
  • Numers = var [4, 1, 2, 5];// Array viisi digitaalisia komponentteja;
  • var ero = [1.5, väärä, «teksti"];// Array kolme tekijää erilaista.

Tyypillisesti ei edellytetä, että arvot olivat yksinkertaisia ​​(ja linja numero).Se voi myös olla muita ilmaisuja, esimerkiksi aihe literaaleja muita toimintoja ja taulukot.

toinen tapa luoda joukko suunnittelija on kutsua Array ().Kutsu hänet kolmella tavalla:

  • Calling suunnittelija ilman argumentteja: var b - uusi Array ().Siinä luotaisiin tyhjän taulukon vastaava kirjaimellisesti tyhjä [].
  • Suunnittelija on selvästi osoittavat arvo n komponenttien array: var b = new Array (1, 3, 5, 8, "rivi», tosi).Tällöin suunnittelija esitteli luettelon argumentteja, jotka muunnetaan komponentit new Array.Argumentit kirjoitetaan array on paikka, jossa ilmoitettu.
  • Rajausmenetelmät myöhempää osoitetaan arvoja.Tämä tehdään määrittämällä havaitseminen joukko numeroita sulkeisiin: var b = new Array (5).Tämä menetelmä havaitsemiseen liittyy jakamista joukko tarvittava määrä komponenttien (joista kukin on listattu määrittelemätön) ja mahdollisuus siirtää arvojen prosessissa keskustelua.Tätä lomaketta käytetään tyypillisesti ennalta jakaa Javascript-matriisi, jonka pituus on etukäteen tiedossa.

kirjoittaminen, lukeminen ja lisäämällä osat valikoimaan

päästä komponentit array, voit käyttää [] operaattori.Muuten, kaikki komponentit JavaScript, alkaen nollasta, numeroitu.Voit hankkia tarvittavat tekijät, sen numero on suluissa.Pääsääntöisesti kohteita voidaan muuttaa.JavaScript lisätä array, sinun tarvitsee antaa uuden arvon.

syytä huomata, että JavaScript joukko voi tallentaa minkä tahansa määrän elementtejä tahansa.

pituus

joten tiedämme, mitä JavaScript.Pituus array yleensä on mielenkiintoinen ilmiö.Mietitäänpä sitä tarkemmin.Kaikki alueet on suunnitellut muotoilija Array (), ja tunnistaa ansiosta kirjaimellisesti array on erityinen ominaisuus pituus, joka muistuttaa kokonaismäärä elementtejä säilytetään.Koska jono voi olla epävarma tiedot (merkitty määrittelemätön), tarkempi ilmaus kuulostaa niin: Laatu pituus on aina suurempi yhden kuin eniten (indeksi) komponentti array.Laatu pituus säädetään automaattisesti, oleskelevat tarkkoja esiintyminen joukko uusia osia.

tuli lopullisen komponentin array, voit käyttää kokoillan.

viimeinen erä on indeksi on yksi vähemmän kuin koko jono.Kun laskurin aina aloitettava tyhjästä.Voi, tämä JavaScript!Pituus array se riippuu tarkka lukumäärä kohteita.Siksi, jos et tiedä, kuinka paljon niiden pitäisi olla, mutta sinun täytyy kääntyä viimeisenä osana array, sinun täytyy hakea ennätys: v.length - 1.

Bust osia array

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

  • var hedelmät = [«Strawberry", "persikka", "omena", "banaani"];
  • varten (var I = 0; i & lt; fruits.lenght; i ++);
  • document.write (hedelmät [i] + «...»).

Tässä esimerkissä, näyttää siltä, ​​että komponentit on sijoitettu jatkuvasti ja alkaa ensimmäisen osan, joka omistaa nolla indeksi.Jos ei, ennen kuin otat kutakin alkiota on tarkistettava, onko se on määritelty.

sykli on myös joskus käytetään alustaa komponentteja.

Zoom ja katkaisu valikoimaan

ihmetellä, miten käyttää JavaScript kieltä merkkijono array lisätä?Prosessissa kanssa paneelit, pituus pituus automaattisesti parantaa laatua, minkä vuoksi meidän tarvitse huolehtia itse.On tarpeen muistaa noin yksityiskohtaisesti - pituus omaisuus ei ole vain luku on käytettävissä, mutta ennätys.Jos pituus attribuutin laadun arvon, joka antaa koko virran, niin array pienenee 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 - ei voi palauttaa.

erittäin helppo puhdistaa, koska matriisi: foo.length = 0.

Jos laatu ajaa pituus on suurempi kuin sen nykyinen arvo lopussa array tulee uusia, tunnistamattomia kohteita, jotka lisäävät sen haluamaasi kokoon.

Irrota osa array

poistaa operaattori määrittää komponentin array määrittelemättömiä, mutta se on edelleen olemassa tässä tapauksessa.Jos sinun on poistettava erä JavaScript array jotta muut osat olivat joutuneet istuin, sinun on käytettävä yksi menetelmistä ennustaa jono.Menetelmä Array.shift () poistaa ensimmäisen komponentin, pop () - lopullinen ainesosa, ja menetelmä liitos () - yksi tai valikoiman komponentteja kaikkialla jono.

Moniulotteinen Taulukot

ajatella ymmärrämme vähän siitä, mitä JavaScript.Kaksiulotteinen taulukoita - jotka on käsiteltävä edelleen.Muistat, että JavaScript-taulukoiden osina voi sisältää muita elementtejä?Tätä toimintoa käytetään tuotannossa moniulotteisia taulukoita.Vierailla ainesosat joukko paneelit on riittävä soveltaa suluissa kahdesti.

assosiatiiviset taulukot

Nyt opimme, miten JavaScript tavaramerkki käyttää assosiatiivisia taulukoita.Voit tehdä tämän meidän täytyy tutkia teoriaa: assosiatiiviset taulukot kutsutaan joskus hajautustaulua.Kiitos heille, indeksit käytetty linja.Tällaisten rakenteiden muistuttaa käyttää nimitystä ominaisuuksien yksinkertaisen kohteen, mutta tässä suoritusmuodossa, kun työskennellään array-muodossa.Kuten JavaScript ei ole keinoja toimia assosiatiivinen paneelit, niitä käytetään paljon harvemmin kuin tavallista.On huomattava, että ne voivat silti olla hyödyllisiä tiedon tallennukseen ja yksinkertaistaa varastointia osiin, joiden haluat käyttää.

lähtösarjan

Ja nyt me opiskella JavaScript?Lähtö array valintaikkuna (näytöllä), ja lähtö arvot komponenttien jono.

Jos ohjelma haluat näyttää arvot kaikki osat, niin se on kätevä hakea ohjeita.Mielenkiintoista, muuttuja-laskuri käytetään säännöt tämän indeksin komponentti array.

Puhdistus

suodattaminen joukko JavaScript, sinun täytyy nollata pituus:

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

Seuraavassa on esitetty täytäntöönpanon määränpää selkeä (), in JavaScript-puitteet, Prototype:

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

lisääminen ja poistaminen komponentit

No, jatkamme edelleen tutustua mielenkiintoinen kieli JavaScript.Array elementin ja voidaan poistaa ja lisätä samalla tavalla kuin tavanomaiset ominaisuudet muita esineitä.Mutta on olemassa joitakin eroja: samalla lisäämällä numeerinen ominaisuudet voivat muuttaa laatua pituus, ja muuttaminen pituutta omaisuus voidaan hävittää numeerisen laatua.Periaatteessa algoritmi jossa ominaisuuksia kuten paneelit on:

  • Kun lisäät tuntematon ominaisuuksia digitaalisen I, jos pituus on yhtä suuri tai pienempi kuin i, pituus määritellään olevan i + 1 ,.
  • Kun muutat laatua pituudesta tehdään seuraavasti: jos määritetty arvo on pienempi kuin nolla, sitten heittää RangeError.Selvitystilaan kaikki numeeriset laatu indeksit jotka ovat yhtä suuria uuteen pituuteen, ja yli.

Yleensä poistaa elementti JavaScript array on helppoa.Sen jälkeen, kun kaikki, jopa asettamalla pituus, on tarpeen poistaa "extra" komponentteja.Siksi puhdistus vaihtoehto array.Jos muuttuja on määritetty uusi tyhjä array jostain syystä ole tyytyväinen, ja se on tarpeen palauttaa nykyiset, sen laatu on riittävä määrittää nolla pituus.

menetelmiä unshift, muutos, pop ja työnnä

Huolimatta siitä, että osat array muutetaan manuaalisesti, monet suositella tätä sovelletaan sisäänrakennettu menetelmiä.On tämä vivahde takaa oikean arvon laadun ja puute pituus array kulkee.Muuten, oikea pituus laatu täsmää komponenttien määrää.

push-menetelmä siirtyy taulukon loppuun kulunut yksityiskohtiin.Menetelmä pop antaa takaisin lopullisen komponentin ja poistaa sen.

Yleensä Internet Explorerin kahdeksannen version unshift voi palata määrittelemätön, muissa selaimissa - uusi arvo pituus.Joten paluuarvo unshift on parempi olla toivoa.

lisääminen ja poistaminen osien keskellä array

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

Hän vetäytyy array deleteCount komponenttien, alkaen indeksi alku.Jos olet siirtänyt enemmän kuin kaksi perustelua, kaikki myöhemmät väitteet sijoitetaan joukko sijasta selvitystilaan.Jos alku on miinus, indeksi, joka jatkaa peruuttaminen on yhtä pitkä + aloittaa.Palauttaa matriisin elementtejä tulee kauko.

Itse asiassa, käyttämällä menetelmää liitoksen, komponentit voidaan poistaa keskeltä array, tai lisätä mikä tahansa määrä missä tahansa jono.

Yksinkertaisimmassa tapauksessa, jos sinun täytyy poistaa komponentti indeksin i, on pyydettävä array liitos menetelmällä parametrien i ja 1.

Periaatteessa toinen vaihtoehto on liitos menetelmä ei ole pakollista, mutta käyttäytymistä yhden argumentin jokaisessa selaimessa eri.

Esimerkiksi Firefoxissa, viime muunnelmia Opera, Safari ja Chrome kaikki kohteet peruutetaan ennen loppua jono.

IE ei selvitystilaan mitään osaa.Ensimmäinen muutos on mahdotonta ennustaa käyttäytymistä Opera - poistetaan yhtenä kappaleena indeksi alku - 1. Siksi kannattaa aina kulkea menetelmässä ainakin kaksi komponenttia.

Keys

tietenkin oppiminen JavaScript, assosiatiiviset taulukot, kuten aiemmin mainittiin, sinun täytyy myös unohtaa.Tämä on abstrakti tällaista tietoa (liitäntä tietovaraston), jonka avulla voit tallentaa paria muotoa "(avain, arvo)" ja lisätään pari tukitoiminnoista, sekä poistaa ja etsiä avainpareja:

- ETSI (avain).

- INSERT (arvo, avain).

- Poista (avain).

Uskotaan, että assosiatiivinen joukko pysty tallentaa kaksi paria samalla avaimella.Muutaman k + vv kutsutaan liittyvän arvon avainta k.Semantiikka ja nimet edellä toimintaa eri toteutuksia tällaisten paneelit voi olla erilainen.

Näin ollen, vaikutusta FIND (avain) palauttaa arvon liittyy tietyn avaimen, tai tiettyyn kohteeseen UNDEF, mikä tarkoittaa, että arvo liittyy tiettyyn avain puuttuu.Kaksi muuta toimet eivät palauta mitään (paitsi tietoja olet onnistuneesti toteutettu tämän tapahtuman).

Yleensä mistä näkökulmasta käyttöliittymä, joka on assosiatiivinen joukko pitää yksinkertainen array, jossa indekseinä voidaan soveltaa paitsi kokonaislukuja, ja muita arvoja - esimerkiksi, linjat.

tavalla, tukea tällaista paneelit on monta tulkita korkean tason ohjelmointikieliä, kuten PHP, Perl, Ruby, Python, Tcl, JavaScript, ja toiset.Kieliä, joilla ei ole sisäänrakennettuja työkaluja toimimaan assosiatiivinen paneelit, luonut valtavan määrän toteutusten muodossa kirjastoissa.

esimerkki tällainen taulukko voi toimia puhelinluettelo.Tässä suoritusmuodossa, arvo joukko "F.IO + e ", ja avain - puhelinnumero.Puhelinnumero on yksi isäntä, mutta yksi henkilö voi omistaa useita huoneita.

Associated jatkamista

syytä huomata, että kuuluisin laajeneminen ovat seuraavat:

  • JOKAISEN - «mennä» tallentaa kaikki parit.
  • CLEAR - poistaa kaikki merkinnät.
  • MIN - löytää pari, jolla on pienin avain.
  • MAX - etsiä parin tärkein.

viime kahdessa tapauksessa sinun täytyy näppäimiin osoitti vaikutuksia verrattuna.

toteutukset assosiatiiviset taulukot

On olemassa monia erilaisia ​​toteutuksia jotka ovat taulukon.Yleisin toteutus voi perustua yksinkertainen joukko, jonka osat ovat huuruja (arvo avain).Voit nopeuttaa hakua toimia voidaan tilata osia array ja toteuttaa keskeisiä havainto käyttämällä binäärihaku.Mutta se lisää aikaa haluat lisätä uuden parin, koska täytyy "paina" komponentit array, joka on esiintynyt tyhjään soluun pakata tuore ennätys.

tunnetuin täytäntöönpanoa, jotka perustuvat eri hakupuita.Esimerkiksi tyypillinen lukusalissa STL C ++ kartta säiliö toteutetaan pohjalta musta ja mahonki.Tyyliin Ruby, TCL, Python käytetty tyyppi hajautustaulun.On olemassa myös muita täytäntöönpanoa.

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 Nuance noin (log n), jossa n - nykyinen määrä pelastaa par.Saat yhdenmukaistetut hakupuita (kuten musta ja punainen puita), tämä ehto täyttyy.

tunnettua, että toteutukset perustuvat hash taulukoita, määritellään keskimääräinen aika O (1), joka on parempi kuin toimet perustuvat hakupuun.Tietenkään tämä ei takaa nopean suorittamisen tiettyjen toimintojen: kesto INSERT selvitys kutsutaan pahimmassa tapauksessa O (n).INSERT suoritetaan pitkään kun tulli suhde saavuttaa korkein kohta, ja on tarpeen rekonstruoida hash sisällysluettelo.

tavalla, nämä lausunnot hash huono, että tältä pohjalta on mahdotonta suorittaa nopeasti lisätoimia MAX, MIN ja traversal algoritmi tallentaa kaikki parit mukaan alenevassa järjestyksessä tai lisäämällä avaimet.