ComputereProgrammering

JavaScript-array og dets oprettelse. Alt om JavaScript-arrays

I denne artikel vil vi se på JavaScript-array, dets komponenter. JavaScript er et perfekt scenarie-orienterede sprog designet til programmering. Faktisk er det implementerer ECMAScript sprog (standard ECMA-262).

Hvor at bruge JavaScript? Det bruges som en indlejret sprog for at bestemme stien til programmet til emnet ansøgning. Det kan findes i browseren: Det bruges der som et scriptsprog, der giver web-sider interaktivt.

De vigtigste arkitektoniske træk ved dette produkt er dynamiske og svage typebestemmelse, avtoupravlenie hukommelse ideel programmering funktioner, der er formål med den første afladning.

Faktisk, i JavaScript påvirket forskellige årsager, fordi udviklingen ville skabe et sprog svarende til Java, men let at bruge af programmører. Af den måde, er det JavaScript ikke ejer en virksomhed eller organisation, der gør det anderledes end en række programmering stilarter bruges af web-udviklere.

Det skal bemærkes, at JavaScript - et registreret varemærke tilhørende Oracle Corporation Group.

Hvad er en matrix?

Kaldet vifte datatype, der gemmer nummererede værdier. Hver sådan værdi omtales som array komponenten og ciffer fra som binder komponenten, kaldet et indeks. JavaScript-matrix af typebestemt. Det betyder, at dele af array kan have uanset type, med forskellige dele, der tilhører samme array, har helt andre typer.

Hertil kommer, JavaScript-array er dynamisk, og det siges, at en fast størrelse ikke behøver at blive erklæret. Efter tilsætning nye dele til enhver tid.

solid produktion

Brug af JavaScript til at skabe en række ganske vanskeligt. Der er to metoder til dette. Den første omfatter produktion af en array ved hjælp af en bogstavelig - af kantede parenteser, inde som er placeret en liste over emner, divideret med kommaer.

  • Var tomme = []; // tom matrix;
  • Var numers = [4, 1, 2, 5]; // array med fem digitale komponenter;
  • var diff = [1,5, falsk, «tekst"]; // array med tre elementer af forskellige typer.

Som regel er der ingen krav om, at værdierne var enkle (og linjenumre). Det kan også være nogen andre udtryk, for eksempel objekt literaler, andre funktioner og arrays.

Den anden måde at skabe en række designer er at kalde Array (). For at invitere ham til en af tre metoder:

  • Ring til en designer uden argumenter: var b - new Array (). Det indeholder bestemmelser om oprettelse af en tom matrix svarende til en tom bogstavelig [].
  • Designeren har udtrykkeligt angive værdien n af arraybestanddelene: var b = new Array (1, 3, 5, 8, "linje», sand). I dette tilfælde designeren præsenteret en liste med argumenter, som er omdannet til et nyt array komponenter. Argumenter skrives til array er det sted hvor det er angivet.
  • Definition af mulighederne for yderligere tildele værdier. Dette gøres ved at angive påvisning arrayet et tal i parentes: var b = new Array (5). Denne påvisningsmetode involverer tildelingen af et array af det krævede antal komponenter (der hver især er opført som udefineret) med mulighed for at tildele værdier i processen med diskussion. Dette skema er normalt bruges til at pre-allokere JavaScript-matrix, hvis længde er kendt på forhånd.

Optagelse, læsning og tilføje oplysninger om array

Komme til komponenterne i arrayet kan være via operatør []. Af den måde, alle de komponenter i JavaScript, startende fra nul, er talte. For at opnå de nødvendige elementer, indikerer dets nummer i firkantede parenteser. Som en generel regel, kan punkter ændres. En JavaScript for at tilføje til array, er det tilstrækkeligt at tildele en ny værdi.

Det skal bemærkes, at arrays i JavaScript kan gemme et vilkårligt antal elementer af nogen art.

Længden af array'et

Så vi ved, hvad JavaScript. længden af array generelt er et interessant fænomen. Lad os betragte det nærmere. Alle intervaller er konstrueret ved anvendelse Array Designer () og påvist gennem en bogstavelig matrix har en bestemt længde ejendom, som trækker det samlede antal elementer besparende. Da array kan være usikker på detaljerne (undefined Den udpegede), en mere præcis udtryk lyder så: Kvalitet længde er altid større ved en end det største antal (indeks) af array komponent. Kvalitet længde justeres automatisk, opholder sig præcis på fremkomsten af en række nye detaljer.

For at vise den sidste komponent i et array, kan du bruge længden ejendom.

Den sidste del er indekset en mindre end størrelsen af array. Efter nedtællingen begynder altid fra bunden. Åh, det JavaScript! Længden af array'et det afhænger af det nøjagtige antal af elementer. Derfor, hvis du ikke ved, hvor mange der skal være, men du har brug for at henvende sig til det sidste element af array, er det nødvendigt at anvende den rekord: v.length - 1.

Gentage den vifte af dele

Meget ofte, længden egenskab bruges til at gentage over den vifte af dele i cyklen:

  • Var frugter = [ «jordbær", "fersken", "æble", "banan"];
  • for (var I = 0; i
  • document.write (frugter [i] + «...»).

I dette eksempel fremgår det, at bestanddelene er anbragt kontinuerligt og begynde med den første del, som holder indeks nul. Hvis dette ikke er tilfældet, bør før du ringer hvert element i arrayet kontrolleres, hvis den er defineret.

Cyklussen er også undertiden bruges til at initialisere komponenter.

Stigningen og trunkering arrayet

Jeg spekulerer på, hvordan bruger sproget JavaScript snor i et array for at tilføje? I processen med at arbejde med arrays, forbedrer længden af længden automatisk kvaliteten, hvilket er grunden til vi er nødt til at tage sig af det selv. Det er nødvendigt at huske en enkelt detalje - længden ejendom er ikke skrivebeskyttet er tilgængelig, men for en god ordens. Hvis attributværdi kvalitet længde, der giver størrelsen af strømmen, bliver arrayet reduceret til en forudbestemt værdi. Eventuelle komponenter, der ikke indgår i den nye serie af indekser, læne sig tilbage, og deres værdier er tabt, selv om du senere vende tilbage længde - værdier ikke gendannes.

Ganske enkelt klar array som: foo.length = 0.

Hvis kvaliteten af løbelængden større end dens aktuelle værdi, ved slutningen af array vil være nye, uidentificerede komponenter, hvilket vil øge det til den ønskede størrelse.

Sletning af en matrix af detaljer

Delete operatør indikerer den komponent af array til udefineret, men det fortsætter med at eksistere i dette tilfælde. Hvis du ønsker at fjerne JavaScript element i array, så den resterende del skiftede til den ledige plads, skal du bruge en af de måder at forudsige array. Fremgangsmåde Array.shift () fjerner en første komponent, pop () - afslutning af komponent og en fremgangsmåde splejsning () - en komponent eller ligge hvor som helst array.

multidimensionale arrays

Det ser ud til, at vi forstår lidt, hvad JavaScript. To-dimensionelle arrays - der skal overvejes yderligere. Kan du huske, at JavaScript arrays kan indeholde som komponenter i andre emner? Denne funktion bruges til produktion af multi-dimensionelle arrays. At besøge komponenterne i en vifte af arrays er tilstrækkeligt at anvende beslagene to gange.

associative arrays

Nu lærer vi, hvordan man varemærke bruger JavaScript associative arrays. For at gøre dette har vi brug for at kigge ind i teorien: associativt array kaldes hash tabeller. Takket være dem, indeksene brugte linje. Anvendelsen af sådanne strukturer minder om anvendelsen af navnet på egenskaberne af en simpel genstand, men i denne udførelsesform, udførelsen af arbejdet i et array format. Da der ikke er nogen måder at manipulere JavaScript arrays associativ, bliver de brugt langt mindre hyppigt end normalt. Det skal bemærkes, at de stadig kan være nyttig til datalagring og forenkle opbevaring af dele, der vil blive adgang.

Output-array

Og nu vil vi studere i JavaScript-system? Output array til den dialogboks (på skærmen), såvel som output værdier af array-komponenter.

Hvis det program, du ønsker at få vist værdierne af alle komponenterne, så er det bekvemt at anvende instruktioner til. Interessant nok variabel counter regler for brug på samme tid som et indeks komponent array.

rengøring

For at filtrere en vifte af JavaScript, skal du nulstille dens længde:

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

Følgende viser gennemførelsen af destinationen klar (), i en JavaScript-ramme, Forbillede:

  • klar: function () {;
  • this.length = 0;
  • tilbagevenden dette;
  • }.

Tilføje og fjerne komponenter

Nå, vi fortsætter med at yderligere at udforske denne spændende JavaScript. arrayelement som muligt og at fjerne og tilføje den samme måde som konventionelle egenskaber af andre objekter. Men der er nogle forskelle: tilføje numerisk egenskaber kvalitet længde kan variere, men i ændringen af længden egenskaber kan elimineres numerisk kvalitet. I princippet som den installere algoritme i arrays er som følger:

  • Når der tilføjes en digital ukendte egenskaber i, hvis længden er lig med eller mindre end jeg, længde bestemmes til at være i + 1.
  • Når du ændrer kvaliteten af længden at udføre følgende trin: hvis den tildelte værdi er mindre end nul, så kaster RangeError. Fjerner alle numeriske kvalitet indekser, der er lig med den nye længde, og større end.

Faktisk fjerne JavaScript-række element er enkel. Efter alt, selv indstille længden, er du nødt til at fjerne de "ekstra" komponenter fra det. Heraf følger rengøring option array. Hvis variablen er tildelt en ny tom matrix, uanset årsagen, ikke var opfyldt, og det er nødvendigt at nulstille den aktuelle, dens kvalitet er tilstrækkelig længde til at tildele en værdi på nul.

fjern skift metoder, skift, pop og skub

På trods af, at komponenterne i array skiftes manuelt, mange anbefale at bruge disse indbyggede metoder. Det er denne nuance garanterer den korrekte værdi af den kvalitet og den manglende længde i array passerer. Af den måde, vil kvaliteten af den korrekte længde svarer til antallet af komponenter.

Processen bevæger sig til at skubbe enden af array transmitteret poster. Pop tilbage proces giver den endelige komponent og fjerner det.

Generelt i Internet Explorer under den ottende udgave fjern skift kan vende tilbage udefineret, i andre browsere - den nye værdi af længden. Således at returværdien fra fjern skift bedre ikke at håbe.

Tilsætningen og fjernelsen af dele i midten af array

Hvis du vil slette en vifte af JavaScript, skal du tage? Det er kendt, at metoden har en signatur splejsning Array.prototype.splice.

Han trækker sig fra matrix deleteCount komponenter, der begynder med indeks start. Hvis du kom mere end to argumenter, alle efterfølgende argumenter i array er arrangeret i stedet for likvideret. Hvis start er minus, at indekset, hvor genoptage tilbagetrækningen vil være lig med længden + starte. Returnerer et array af elementer kommer fra fjernbetjeningen.

Faktisk anvendelse splejsningen fremgangsmåde er det muligt at fjerne komponenter fra midten af en matrix eller tilføje et vilkårligt antal overalt i arrayet.

I sin enkleste form, hvis du ønsker at fjerne en komponent med indeks i, skal bede om den vifte af splejsning med de parametre, I og 1.

I princippet den anden mulighed ved splejsningen metode er ikke obligatorisk, men opførslen af funktionen med et argument for hver browser er anderledes.

For eksempel i Firefox, i de sidste variationer af Opera, i Safari og Chrome vil blive fjernet alle detaljer inden udgangen af array.

ingen enkelt komponent elimineres i IE. Den første variant er umuligt at forudsige adfærd Opera - vil blive fjernet ét element med indeks starten - 1. Derfor er det altid nødvendigt i denne metode til at transmittere mindst to komponenter.

tasterne

Selvfølgelig, læring JavaScript associativt array, som tidligere nævnt, du bør heller ikke overses. Dette er en abstrakt baggrund af de oplysninger (grænsefladen til datalageret), som gør det muligt at spare et par af formen "(nøgle, værdi)", og driften af at tilføje et par af støtte, samt sletning og søgning af nøglepar:

- FIND (nøgle).

- INSERT (værdi, nøgle).

- FJERN (nøgle).

Det menes, at i et associativt array kan ikke gemme de to par med lignende nøgler. I et par k + vv er den værdi, der er forbundet med nøgle k. Semantik og navnene på de ovennævnte operationer i en række forskellige implementeringer af sådanne arrays kan være anderledes.

Således FIND drift (nøgle) returnerer en værdi knyttet til en given nøgle, eller et bestemt objekt undef, hvilket betyder, at værdien er forbundet med en given nøgle, offline. To andre tiltag ikke vender tilbage (med undtagelse af data om, hvorvidt operationen var en succes).

Generelt i form af interface, associative array hvilket betragtes som et simpelt array, hvor der som indeks kan anvendes ikke kun heltal men andre typer og værdier - f.eks linjer.

I øvrigt er støtte til sådanne arrays behandlet der i mange programmeringssprog, højt niveau, som PHP, Perl, Ruby, Python, Tcl, JavaScript og andre. For sprog, der ikke har nogen indbyggede værktøjer til at arbejde med associative arrays, skabte et enormt antal af erkendelser i form af biblioteker.

Et eksempel på et associativt array kan tjene som en telefonbog. I denne udførelsesform er værdien af et sæt af "F. IO + e", og nøglen - telefonnummeret. Et telefonnummer er en master, men én person kan eje flere numre.

Tilknyttet udvidelse

Det skal bemærkes, at de mest kendte udvidelser omfatter følgende:

  • HVER - «gåtur» på alle sparer par.
  • CLEAR - for at slette alle posterne.
  • MIN - at finde et par med den laveste nøgle værdi.
  • MAX - at finde et par med den største nøgle værdi.

I de sidste to tilfælde er du nødt til på tasterne indikerede sammenligning effekt.

Realisering af associative arrays

Der er mange forskellige implementeringer af associative array. Den mest almindelige implementering kan være baseret på en simpel matrix, hvis komponenter er par (værdi, nøgle). For at fremskynde de søgefunktioner, kan du arrangere komponenter i array ved et vigtigt resultat og implementere bruge en binær søgning. Men det vil øge mængden af tid, der kræves for at tilføje et nyt par, som bliver nødt til at "skubbe" array komponenter, der dukkede op i en tom celle til at pakke en frisk rekord.

Den bedst kendte implementering, baseret på forskellige søgetræer. For eksempel i et typisk læsesal STL C ++ sprog Trailere kortet er implementeret på baggrund af sorte og mahogni. I Ruby, stilarter, Tcl, Python anvendelser én type hash tabeller. Der er andre implementering.

Generelt hver implementering har sine egne fordele og ulemper. Det er vigtigt, at alle tre operationer blev opfyldt i gennemsnit, og i værste periode nuance om (log n), hvor n - nuværende antal for at spare pari. For samordnede søgetræer (herunder sorte og røde træer), denne betingelse er opfyldt.

Det vides, at i implementeringer baseret på hash tabeller, er den gennemsnitlige tid, defineret som D (1), hvilket er bedre end i de sager baseret på søgetræer. Selvfølgelig er dette ikke garanterer en høj hastighed ydeevne af separate operationer: INSERT virkningstid i værste fald, benævnt O (n). INSERT proces udføres i lang tid, hvor pligt forholdet når det højeste punkt, og der er behov for at rekonstruere hash tabellen indeks.

Af den måde, disse udsagn hash dårligt, at på dette grundlag er det umuligt at udføre en hurtig supplerende indsats MAX, MIN, og en algoritme til at søge alle sparer par i faldende rækkefølge eller opstigende nøgler.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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