Käesolevas artiklis me vaatleme JavaScript-massiiv, selle komponendid.JavaScript on täiesti orienteeritud skript keel, mis on loodud programmeerimine.Tegelikult ta mõistab keele ECMAScript (ECMA-262 standard).
Kus kasutada JavaScripti?Seda kasutatakse näiteks varjatud keelt, et teha kindlaks tee subjektile tarkvararakenduse.See võib leida brauser: seda kasutatakse seal skript keel, mis annab interaktiivsust veebilehti.
oluline arhitektuurilised omadused selle toote on dünaamiline ja nõrk kirjutades, avtoupravlenie mälu, ideaalne programmide ülesandeid, mis on objektide esimesse kategooriasse.
Tegelikult JavaScript mõjutatud erinevatel põhjustel, sest areng looks keeles sarnane Java, kuid lihtne kasutada programmeerijad.Muide, JavaScripti keel ei oma ettevõtte või organisatsiooni, mis muudab ta erineb mitmes programmis kasutatavaid stiile veebiarendajad.
Pange tähele, et JavaScript - registreeritud kaubamärk muret Oracle Corporation.
Mis on massiivi?
nimetatakse Array andmeid sisestada, et kauplustes nummerdatud väärtusi.Iga selline väärtus nimetatakse komponendiks massiiv, ning hulka, milles komponent nimetatakse indeks.JavaScript-tüpiseerimata massiivi.See tähendab, et andmed massiivi võib olla mis tahes tüüpi, erinevaid objekte, mis kuuluvad samasse massiivi, on täiesti erinevad stiilid.
Lisaks JavaScript-massiiv on dünaamiline ja see ütles, et püsiv suurus ei ole vaja kuulutada.Pärast lisades uusi osade kaupa igal ajal.
Manufacturing massiivi
keelt kasutades JavaScript, et luua massiivi üsna raske.On kaks meetodit selle eest.Esimene hõlmab tootmist massiivi kasutades sõnasõnalist - on nurksulgudes, mille sisse on asetatud esemete loetelu, mis on jagatud komadega.
- var tühi = [];// Tühi rida;
- numers = var [4, 1, 2, 5];// Massiiv viis digitaalse komponendid;
- var diff = [1,5, vale, «teksti"];// Massiivi kolm elementi erinevad.
Tavaliselt ei nõuta, et väärtused olid lihtsad (ja liini number).See võib olla ka mõni muu väljendeid, näiteks teema literaale muid funktsioone ja massiivid.
teine viis luua hulgaliselt disainer on kutsuda Array ().Paluda tal on kolm meetodit:
- Üleskutse disainer ilma argumendid: var b - uued Array ().See kavatseb luua tühja massiivi samaväärne sõnasõnaline tühjad [].
- Designer on selgelt märgitud väärtuse n komponendid massiiv: var b = new Array (1, 3, 5, 8, "rida», tõsi).Sel juhul projekteerija esitatud argumentide loetelu, mis muundatakse komponentide uue massiivi.Argumendid kirjutatakse massiivi on koht, kus näidatakse.
- KMH ulatuse hiljem väärtuse omistamisel.Seda tehakse määrates avastamiseks omaduste numbrid sulgudes: var b = new Array (5).See meetod avastamise hõlmab jaotamise massiivi nõutav arv komponente (millest igaüks on loetletud defineerimata) koos võimalusega väärtuse omistamiseks protsessis arutelu.See vorm on tavaliselt kasutatakse eelnevalt eraldada Javascript-massiivi, mille pikkus on ette teada.
kirjalikult, lugemine ja lisades osad massiivi
jõuda osad massiivi, mida saab kasutada [] operaator.Muide, kõikidest komponentidest JavaScript, alustades null, nummerdatud.Et saada vajalikke elemente, selle number sulgudesse.Üldjuhul esemeid saab muuta.JavaScript lisada massiivi, pead määrama uue väärtuse.
tuleb märkida, et JavaScript massiivi saab talletada suvalisel arvul elemendid tahes.
pikkus
Nii et me teame, mida JavaScript.Pikkus array üldiselt on huvitav nähtus.Mõelgem siis täpsemalt.Kõik kollektsioonid, mida disainer Array (), ja identifitseerida tänu sõnasõnaline massiiv on teatud vara pikkus, mis meenutab koguarvust elemendid on säilinud.Kuna massiivi võib olla ebakindel üksikasjad (tähistatakse määratlemata), täpsem väljendus kõlab nii: Kvaliteet pikkus on alati suurem üks kui suurim arv (indeks) osa massiivi.Kvaliteet pikkus reguleeritakse automaatselt, viibib täpne esinemise hulgaliselt uusi osasid.
tuli lõplik komponent massiivi saab kasutada täispikad.
viimase punktina on indeks on üks vähem kui suurus massiivi.Pärast lugedes alati alustada nullist.Oh, seda JavaScript!Pikkus array see sõltub täpne arv on.Seega, kui te ei tea, kui palju nad peaksid olema, aga sa pead pöörduma viimane element massiivi, teil on vaja kohaldada rekord: v.length - 1.
Bust osad massiivi
Väga sageli pikkus vara kasutatakse korrata üle hulga osade tsükkel:
- var puuviljad = [«Maasika", "virsik", "apple", "banaan"];
- eest (var I = 0; i & lt; fruits.lenght; i ++);
- document.write (puu [i] + «...»).
Selles näites tundub, et osad on asetatud pidevalt ja algab esimene osa, mis omab null indeks.Kui ei ole, enne helistamist iga element massiivi tuleb kontrollida, kas see on määratletud.
tsükkel on ka mõnikord kasutatakse initsialiseerida komponendid.
Zoom ja kärpimise massiivi
ei tea, kuidas kasutada JavaScripti keele string massiivi lisada?Aastal protsessi töötavad massiivid, pikkus pikkus automaatselt parandab, mistõttu me ei pea muretsema selle ise.Tuleb meeles pidada umbes üks detail - pikkus vara ei ole ainult lugemiseks on saadaval, kuid rekord.Kui pikkus omaduse kvaliteedi väärtus, annab suuruse praeguse, siis massiivi vähendatakse etteantud väärtusega.Kõik komponendid, mis ei kuulu uue mitmetele näitajatele, lebama, ja nende väärtused on kadunud, isegi kui hiljem naasta pikkus - ei ole võimalik taastada.
väga lihtne puhastada, sest massiivi: foo.length = 0.
Kui kvaliteeti perspektiivis pikkus on suurem kui tema praegune väärtus lõpus massiivi saab uue, tundmatu objekte, mis suurendab see soovitud suurus.
eemaldamine osad massiivi
kustutada operaator määrab komponendi massiivi määratlemata, kuid see on jätkuvalt olemas sel juhul.Kui peate eemaldama objekti JavaScript massiivi nii, et ülejäänud osad olid ümberasustatud istme, sa pead kasutama mõnda meetodit, ennustada massiivi.Meetod Array.shift () eemaldab esimene osa, pop () - viimase koostisainena ning meetod Liimida () - ühe või erinevaid komponente kuhugi massiivi.
Multidimensional massiivid
arvan, et me mõistame natuke sellest, mida JavaScript.Kahemõõtmelised massiivid - et tuleb tegeleda edasi.Mäletad, et JavaScript massiivid komponendid võivad sisaldada ka teisi elemente?Seda funktsiooni kasutatakse tootmiseks mitmemõõtmeline massiive.Külastada koostisosade hulga massiivid on piisav kohaldada sulgudes kaks korda.
Associative massiivid
Nüüd, me õpime, kuidas JavaScript kaubamärk kasutada assotsiatiivne massiivid.Selleks on meil vaja uurida teooria: assotsiatiivne massiivid on mõnikord hash tabelit.Tänu neile indeksite rida.Selliste struktuuride meenutab nime kasutamine omaduste lihtsa objekti, kuid selles teostuses, töötades massiivi formaadis.Nagu JavaScript puuduvad viise tegutseda assotsiatiivne massiivid, neid kasutatakse palju harvemini kui tavaliselt.Tuleb märkida, et nad ikka võib olla kasulik andmete salvestamise ja lihtsustada ladustamise osad, millele soovite juurde pääseda.
väljund massiivi
Ja nüüd me õppida JavaScript?Toodangu massiivi dialoogiboksis (ekraanil) ja väljundi väärtused komponentide massiiv.
Kui programm, mida soovite kuvada väärtusi kõik komponendid, siis see on mugav rakendada juhiseid.Huvitav, muutuva leti kasutatakse eeskirjad selle indeksi osa massiivi.
puhastamine
filtreerimiseks massiivi JavaScript, peate reset pikkus:
- var myArray = [1, 2, 5, 23];
- myArray.length = 0.
järgmised näitab rakendamist kohtades selge (), in JavaScripti raamistik, Prototype:
- selge: funktsioon () {;
- this.length = 0;
- tagastab;
- }.
lisamine ja eemaldamine komponendid
Noh, me jätkata täiendavalt uurida selle huvitava keele JavaScript.Array element ja saab eemaldada ja lisatakse samal viisil nagu tavalised omadused muud objektid.Kuid on mõningaid erinevusi: lisades samas numbrilised omadused võivad muutuda kvaliteeti pikkus ja modifitseerimine pikkus vara saab kõrvaldada numbrilised kvaliteeti.Põhimõtteliselt algoritm, milles omadusi sellisel massiivid on:
- Kui lisate teadmata omadused digitaalse i, kui pikkus on võrdne või väiksem kui i, pikkus on otsustatud i + 1 ,.
- Kui muudad kvaliteedi pikkus on valmistatud järgmiselt: kui määratud väärtus on väiksem kui null, siis viskab RangeError.Likvideeritud kõik numbrilised kvaliteediga indeksid, mis on võrdne uue pikkus ja suurem.
Üldiselt eemaldada element JavaScript massiiv on lihtne.Lõppude lõpuks, isegi õpiaeg on vaja eemaldada "ekstra" komponendid.Seega puhastamise võimalus massiivi.Kui tunnus on määratud uus tühi rida mingil põhjusel ei ole rahul, ja see on vajalik, et taastada praegune, selle kvaliteet on piisav, et omistada väärtus null pikkusega.
meetodeid unshift, nihe, pop ja suruge
Hoolimata sellest, et osad massiivi on muutunud käsitsi, paljud soovitavad seda rakendada sisseehitatud meetodeid.Just see nüanss tagab õige väärtus kvaliteet ja vähene pikkus massiivi möödub.Muide, õige pikkusega kvaliteet sobib komponentide arvu.
push liigub meetod lõpuks massiiv edastatakse andmed.Meetod pop annab tagasi lõpliku komponendi ja eemaldab selle.
Üldiselt Internet Explorer kaheksanda versiooni unshift võib naasta määramata, teiste brauseritega - uus väärtus pikkus.Nii et tagastatav väärtus alates unshift on parem mitte loota.
lisamine ja kõrvaldamine osad keskel massiivi
Kui soovite kustutada massiivi JavaScript, peate võtma?On teada ka, et meetod on allkirja splaissingu Array.prototype.splice.
Ta taganeb massiivi deleteCount komponendid, mis algavad indeks algust.Kui sa üle rohkem kui kaks argumenti, kõik järgnevad väited pannakse massiivi asemel likvideerida.Kui start on minus, indeks, millest jätkub tühistamise on võrdne pikkus + alustada.Tagastab massiivi elementide pärineb serveri.
Tegelikult meetodil Liimida, komponendid saab eemaldada keset rida, või lisada number kõikjal massiivi.
Kõige lihtsamal juhul, kui teil on vaja eemaldada komponenti indeks i, tuleb neil taotleda massiivi Liimida meetod parameetritele i ja 1.
Põhimõtteliselt teine võimalus splaissinguregioonides meetod ei ole kohustuslik, kuid käitumise üks argument igas brauseri erinevat.
Näiteks Firefox, viimase variatsioonid Opera, Safari ja Chrome kõik teemad võetakse tagasi enne massiivi.
IE ei likvideeritud ühtegi komponenti.Esimene variant on võimatu ennustada käitumist Opera - eemaldatakse ühest tükist indeks start - 1. Seega, siis tuleb alati läbida meetodi vähemalt kahest komponendist.
Keys
muidugi õppimine JavaScript, assotsiatiivne massiivid, nagu varem mainitud, siis tuleb ka mitte unustada.See on abstraktne liiki teavet (liides andmehoidlaga), mis võimaldab salvestada paari kujul "(võtme väärtus)" ja lisa paar tegevuste toetamiseks, samuti kustutada ja otsida võtmepaare:
- LEIA (võti).
- INSERT (väärtus, võti).
- Eemaldage (võti).
Usutakse, et assotsiatiivne massiiv suuda päästa kaks paari sama võti.Paari k + vv nimetatakse vastavat väärtust võti k.Semantika ja nimed eespool tegevust erinevate rakenduste, näiteks massiivid võivad olla erinevad.
Seega mõju FIND (võti) tagastab väärtuse, mis on seotud antud võtme või konkreetse objekti UNDEF, mis tähendab, et väärtus on seotud antud võti on kadunud.Kaks muud meetmed ei tule midagi (välja arvatud andmed, mida on edukalt täidetud selles tehingus).
Üldiselt alates seisukohast liides, mis on assotsiatiivne massiiv pidada lihtsaid massiiv, milles näitajatena saab rakendada mitte ainult täisarvud, ja teist liiki väärtusi - näiteks liinidel.
viisil toetada sellist massiivid on palju tõlgendatud kõrgetasemeline programmeerimiskeeli nagu PHP, Perl, Ruby, Python, TCL, JavaScript ja teised.Sest keeles, mis ei ole sisseehitatud tööriistad töötada assotsiatiivne massiivid, mis on loodud suur hulk rakendusi kujul raamatukogud.
näide assotsiatiivne massiiv võib olla telefonikataloogi.Selles teostuses väärtus komplekt "F.IO + e ", ja võti - telefoninumber.Telefoni number on üks master, kuid üks inimene saab ise mitu tuba.
Associated laiendus
tuleb märkida, et kõige kuulsam laienemine on järgmised:
- IGA - «Mine» salvestada kõik paarid.
- selge - kustutada kõik kirjed.
- MIN - leida paari madalaima võti.
- MAX - leida paari kõige olulisem.
Kahel viimasel juhul peate klahvidele märgitud mõju võrreldes.
rakendused assotsiatiivne massiivid
Seal on palju erinevaid rakendusi assotsiatiivne massiiv.Kõige tavalisem rakendamine võib põhineda lihtsal massiivi, mille kõik osad on suits (väärtus võti).Et kiirendada otsing tegevusi saab tellida komponentide massiiv ja rakendada peamisi järeldusi, kasutades binaarne otsing.Aga see kasvab aja peate lisama uue paari, kui on vaja "push" komponentide massiiv, mis on ilmunud tühja lahtri pakkida värske rekord.
tuntuim rakendamine, mis põhineb erinevatel otsing puud.Näiteks tüüpiline lugemissaal STL C ++ kaart konteiner on realiseeritud põhjal must ja mahagon.Stiilis Ruby, TCL, Python kasutatakse teatud tüüpi hash tabelit.On ka teisi rakendamist.
Üldiselt iga rakendamisel on oma plussid ja miinused.Oluline on, et kõik kolm tegevust täidetud keskmiselt halvimal aja nüanss kohta (log n), kus n - praegune number, et salvestada par.Kooskõlastatud otsing puud (sh musta ja punase puud), on see tingimus täidetud.
teada, et rakendused, mis põhineb hash tabeleid, defineeritud kui keskmine aeg O (1), mis on parem kui meetmed põhinevad otsing puu.Muidugi, see ei taga kiire täitmise teatud toiminguid: kestus INSERT avaldus nimetatakse halvimal juhul O (n).INSERT protsess toimub juba pikka aega, kui kohustus suhe jõuab kõrgeim punkt, ja seal on vaja rekonstrueerida hash indekstabel.
Muide, need avaldused hash halb, et selle põhjal ei ole võimalik täita täiendavate meetmete MAX, MIN ja läbipääsusüsteemid algoritm salvestada kõik paarid vähenemise järjekorras või suurendades võtmed.