JavaScript masīvs un tās radīšanu.

click fraud protection

Šajā rakstā mēs apskatīsim JavaScript masīvs, tā sastāvdaļu.JavaScript ir pilnīgi orientēta skriptu valoda, kas izveidots par programmēšanu.Patiesībā, viņš saprot valodas ECMAScript (ECMA-262 standartu).

Kur izmantot JavaScript?Ka tas tiek izmantots par iekļautu valodas, lai noteiktu ceļu uz pakļauts lietojumprogrammu.To var atrast pārlūkā: tas tiek izmantots tur kā skriptu valoda, kas dod interaktivitāti tīmekļa lapām.

svarīgas arhitektūras iezīmes šī produkta ir dinamisks un vāja rakstīt, avtoupravlenie atmiņa, ideāli programmēšanas funkcijas, kas ir objekti pirmajā kategorijā.

Patiesībā, JavaScript ietekmēja dažādi iemesli, jo attīstība radītu valoda līdzīga Java, bet viegli izmantot programmētāji.Starp citu, JavaScript valoda nepieder neviens uzņēmums vai organizācija, kas padara to atšķirīgu no vairākiem programmas stilus web izstrādātājiem izmantot.

Ņemiet vērā, ka JavaScript - reģistrēta preču zīme attiecas Oracle Corporation.

Kas ir masīvs?

sauc Array datu tips, kas veikalos numurētas vērtības.Katrs šāds vērtība tiek minēta kā daļa no masīva, un to skaits, kādam detaļu sauc indekss.JavaScript untyped masīvs.Tas nozīmē, ka informācija par masīvu var būt jebkura tipa, ar dažādiem priekšmetiem, kas pieder pie tās pašas masīvs, ir pilnīgi dažādi stili.

papildinājums, JavaScript masīvs ir dinamisks, un tas ir teicis, ka fiksēts lielums nav nepieciešams deklarēt.Pēc jaunu daļas jebkurā laikā.

Manufacturing masīvs

Izmantojot valodu JavaScript, lai izveidotu masīva diezgan grūti.Ir divas metodes šo.Pirmā ir saistīta ar ražošanu masīvu, izmantojot burtiski - kvadrātveida iekavās, kura iekšpusē ir ievietots saraksts ar priekšmetiem, dalīts ar komatiem.

  • VAR tukšs = [];// Tukšs masīvs;
  • numers = vars [4, 1, 2, 5];// Masīvs ar pieciem digitālo komponentiem;
  • VAR diff = [1,5, nepatiesu, «tekstu"];// Masīvs ar trim elementiem dažādu veidu.

Raksturīgi, nav prasības, ka vērtības bija vienkārša (un līniju skaits).Tas var būt arī jebkuras citas izpausmes, piemēram, ievērojot literāļi citas funkcijas un bloki.

Otrs veids, kā radīt masīvu dizainers ir aicināt Array ().Uzaicināt viņam ir trīs metodes:

  • Calling dizaineru bez argumentiem: var B - jaunu Array ().Tā paredz izveidot tukšā masīvs ekvivalentu burtisks tukšs [].
  • Dizainers ir skaidri norāda vērtību n komponentu masīvs: Var B = jaunu Array (1, 3, 5, 8, "līniju», true).Šajā gadījumā dizainers iesniedza sarakstu ar argumentiem, kas ir konvertēta no jaunās masīva sastāvdaļām.Argumenti ir rakstīts, lai masīvs ir vieta, kur norādīts.
  • darbības jomas, lai vēlāk piešķirot vērtības.Tas tiek darīts, norādot atklāšanas masīvs numuru apaļajās iekavās: var b = jauns Array (5).Šī noteikšanas metode ir saistīta ar masīvu vajadzīgo skaitu komponentu (no kurām katra ir uzskaitīti kā undefined) ar iespēju piešķirot vērtību procesā diskusijas sadalījumu.Šī veidlapa ir parasti izmanto, lai iepriekš piešķirt JavaScript masīvs, kuru garums ir zināms iepriekš.

rakstīšanas, lasīšanas un pievienojot daļas masīvs

sasniegt no masīva sastāvdaļas, jūs varat izmantot [] operatoru.Starp citu, visas sastāvdaļas Javascript, sākot ar nulli, numurētas.Lai iegūtu nepieciešamos elementus, tā numurs ir norādīts iekavās.Kā likums, preces var tikt mainīts.JavaScript pievienot masīvs, jums ir nepieciešams piešķirt jaunu vērtību.

Jāatzīmē, ka JavaScript masīvu var saglabāt jebkuru elementu jebkāda veida numuru.

garums

Tātad mēs zinām, kāda JavaScript.Par masīvs kopumā garums ir interesanta parādība.Apskatīsim to sīkāk.Visi diapazoni ir paredzēti ar dizainera Array (), un noteikti pateicoties burtiskā masīvs ir īpašs īpašuma garums, kas atgādina kopējais elementu skaits ir saglabājies.Tā kā masīvs var būt neskaidra detaļas (apzīmē ar undefined), precīzāku izteiciens izklausās tik: Quality garums vienmēr ir lielāks par vienu, nekā lielākais skaits (indekss) komponents masīvs.Kvalitāte garums tiek regulēts automātiski, uzturas precīza notikuma masīva jaunu detaļu.

nonāca pie gala sastāvdaļu masīvs, jūs varat izmantot šo funkciju garumu.

pēdējais postenis ir indekss ir viens mazāks nekā lielums masīva.Pēc skaitot vienmēr sākas no nulles.Ak, šis JavaScript!No masīva garums ir atkarīgs precīzu vienību skaitu.Tāpēc, ja jūs nezināt, cik daudz viņi būtu, bet jums ir nepieciešams vērsties pie gala elementu masīvs, jums ir nepieciešams piemērot ierakstu: v.length - 1.

krūtis daļas masīvs

Ļoti bieži, garums īpašums tiek izmantots, lai atkārtot pār masīvu detaļu ciklā:

  • VaR augļi = [«Strawberry", "persiks", "Apple", "banāns"];
  • par (VAR i = 0; i & lt; fruits.lenght; i ++);
  • document.write (augļi [i] + «...»).

Šajā piemērā, šķiet, ka sastāvdaļas tiek novietoti nepārtraukti, un sākas ar pirmo daļu, kas pieder nulles indeksu.Ja tā nav, pirms zvana katru masīva elementu jāpārbauda, ​​vai tas ir noteikts.

cikls arī dažreiz izmanto, lai sāktu komponentus.

Zoom un saīsināšanas masīvs

brīnums, kā, izmantojot JavaScript valodu string masīvu pievienot?Šajā procesā, strādājot ar masīviem, garums garuma automātiski uzlabo kvalitāti, kas ir iemesls, kāpēc mums ir jāuztraucas par to pats.Ir nepieciešams atcerēties par vienu detaļu - garums īpašums ir pieejams ne tikai lasāms, bet par ierakstu.Ja garuma atribūtu vērtības, kas dod lielumu strāvas kvalitāti, tad masīvs ir samazināts, lai iepriekš noteiktu vērtību.Visus komponentus, kas nav iekļauti jaunajā diapazonā no indeksiem, atgāzties, un to vērtības tiek zaudētas, pat ja vēlāk atgriezties garums - nav iespējams atjaunot.

ļoti viegli tīrāms, jo masīvs: foo.length = 0.

Ja ceļa garums ir lielāks par tās pašreizējo vērtību beigās masīva kvalitāte būs jaunas, neidentificēti priekšmetus, kas palielinās to uz vēlamo izmēru.

noņemšana daļas masīvs

dzēst operators precizē detaļas masīvs uz undefined, bet tā turpina pastāvēt šajā lietā.Ja Jums ir jānoņem posteni JavaScript masīvs, lai atlikušās daļas tika pārvietoti uz vietu, jums ir izmantot vienu no metodēm, lai prognozētu masīvs.Metode Array.shift () noņem pirmo komponentu, pop () - gala sastāvdaļa, un metode salaist () - vienu vai komponentu klāstu jebkur masīvā.

Daudzdimensiju masīvi

domāju, ka mēs saprotam, mazliet par to, ko JavaScript.Divdimensiju bloki - ka jāturpina risināt.Jūs atceraties, ka JavaScript bloki kā detaļām var saturēt citus elementus?Šī funkcija tiek izmantota, lai ražotu daudzdimensiju masīvu.Apmeklēt sastāvdaļas masīva bloki ir pietiekams, lai divreiz piemērot iekavās.

Asociatīvā bloki

Tagad mēs uzzinātu, kā JavaScript zīme izmantot asociatīvas masīvi.Lai to izdarītu, mums ir nepieciešams izpētīt teoriju: asociatīvas bloki dažreiz sauc hash tabulu.Pateicoties viņiem, indeksi izmanto līniju.Šādu konstrukciju atgādina izmantošanas nosaukuma īpašību vienkāršu objektu izmantošanu, bet šajā iemiesojumā, strādājot masīva formātā.Kā JavaScript nav veidi, kā darboties asociatīvas bloki, tie tiek izmantoti daudz retāk nekā parasti.Jāatzīmē, ka viņi joprojām var būt noderīga, lai datu glabāšanai un vienkāršot uzglabāšanu daļām, kurām vēlaties piekļūt.

izejas masīvs

Un tagad mums būs mācīties JavaScript?No masīva uz dialoglodziņā (uz ekrāna) produkcija, un izejas vērtības no masīva sastāvdaļu.

Ja programmai, kuru vēlaties parādīt vērtības visiem komponentiem, tad tas ir ērti piemērot instrukcijas.Interesanti, ka mainīgā skaitītājs izmanto noteikumos šo indeksu detaļas masīva.

tīrīšana

Lai filtrētu masīvs JavaScript, jums ir nepieciešams, lai atjaunotu garums:

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

pēc parāda īstenošanu galamērķa skaidras (), jo JavaScript-sistēmā, Prototype:

  • skaidrs: function () {;
  • this.length = 0;
  • atgriezties šis;
  • }.

pievienojot un noņemot sastāvdaļas

Nu, mēs joprojām turpināt pētīt šo interesanto valodu JavaScript.Masīvs elements un var noņemt un pievieno tādā pašā veidā, kā parastās īpašībām citiem objektiem.Bet ir dažas atšķirības: vienlaikus pievienojot skaitliskās īpašības var mainīt garumu kvalitāti, un modifikācija garuma īpašumu var izmest skaitlisko kvalitāti.Principā, algoritms nosaka īpašības šādās masīvi ir:

  • Kad jūs pievienojat nezināmu īpašības digitālo i, ja garums ir vienāds vai mazāks par i, garums ir apņēmusies būt i + 1 ,.
  • Mainot garuma kvalitāte tiek veikti šādi: ja piešķirtā vērtība ir mazāka par nulli, tad met RangeError.Likvidēts visas skaitliskās kvalitātes rādītājus, kas ir vienāds ar jaunu garumu, un vairāk nekā.

Parasti noņemt JavaScript masīva elements ir viegli.Galu galā, pat nosakot garumu, tas ir nepieciešams, lai noņemtu no "Ekstra" sastāvdaļām.Tādējādi tīrīšanas iespēja masīvā.Ja mainīgais ir piešķirts jaunu tukšu masīvs kaut kādu iemeslu dēļ nav izpildīti, un tas ir nepieciešams, lai atjaunotu strāvu, tās kvalitāte ir pietiekama, lai piešķirtu vērtību nulles garuma.

metodes unshift, maiņu, pop un spiediet

Neskatoties uz to, ka masīva sastāvdaļas ir mainījusies manuāli, daudzi iesaka to piemērot iebūvēto metodēm.Tā ir šī nianse garantē pareizu vērtību, kvalitāti un trūkums garuma masīvā iet.Starp citu, pareizais garums kvalitāte tiks atrasti vairākas sastāvdaļas.

push metode pārceļas uz beigām masīva nodotas detaļas.Metode pop dod atpakaļ gala sastāvdaļu un novērš to.

Parasti Internet Explorer zem astotajā versijā unshift var atgriezties nenoteikts, citiem pārlūkiem - jaunā vērtība garuma.Tātad par atgriešanās vērtību no unshift ir labāk nevar cerēt.

pievienošana un likvidēšana daļām vidū masīva

Ja vēlaties dzēst masīvs JavaScript, jums ir nepieciešams veikt?Ir zināms, ka metode ir paraksts splaisinga Array.prototype.splice.

Viņš izņem no masīva deleteCount sastāvdaļām, sākot ar indeksu sākuma.Ja jūs nodotas vairāk nekā divus argumentus, visi turpmākie argumenti ir ievietoti masīvā nevis likvidēti.Ja sākums ir mīnus, indekss, no kuriem, lai atsāktu atsaukšanu būs vienāds ar garumu + sākt.Atgriež masīva elementu nāk no tālvadības pults.

Faktiski, izmantojot metodi salaist, sastāvdaļas var izņemt no vidus masīva, vai pievienot jebkuru numuru jebkur masīvā.

Vienkāršākajā gadījumā, ja jums ir nepieciešams, lai novērstu sastāvdaļa ar indeksu i, ir lūgt masīvs salaist metodi ar parametriem i un 1.

Principā otrais variants pie savienošanas metodi nav obligāta, bet uzvedību vienu argumentu katrā pārlūkprogrammā atšķirīgā.

Piemēram, Firefox, pēdējos variācijām Opera, Safari un Chrome visas preces tiks atsaukti līdz beigām masīva.

IE netiks likvidēts nevienu sastāvdaļu.Pirmais variants ir neiespējami prognozēt uzvedību Opera - tiks noņemts viens gabals ar indeksu sākumā - 1. Tāpēc jums vienmēr vajadzētu iet metodē vismaz diviem komponentiem.

Keys

Protams, mācību JavaScript, asociatīvas bloki, kā minēts iepriekš, jums ir arī nevar aizmirst.Tas ir abstrakts veida informāciju (Saskarne ar datu krātuvē), kas ļauj jums ietaupīt pārus veidā "(taustiņu, vērtība)" un pievieno pāris atbalsta operāciju, kā arī dzēst un meklēt galvenajiem pāriem:

- ATRAST (atslēgu).

- INSERT (vērtība, atslēgu).

- Noņemt (atslēgu).

Tiek uzskatīts, ka asociatīvā masīva nespēj glābt divus pārus ar to pašu atslēgu.Pēc pāris K + vv sauc vērtību, kas saistīta ar atslēgu k.Semantika un nosaukumi virs operāciju dažādu implementāciju šādu masīvu var atšķirties.

Tādējādi ietekme atrast (atslēgu) atgriež vērtību, kas saistīta ar konkrēto atslēgu, vai konkrētu objektu undef, kas nozīmē, ka vērtība ir saistīta ar konkrētu atslēgu ir pazudis.Divas citas darbības neatgriežas neko (izņemot datus, ka esat veiksmīgi izpildīja šo darījumu).

Parasti, no viedokļa saskarni, kas ir asociatīvā masīva uzskatīt par vienkāršu masīvs, kur kā indeksus var piemērot ne tikai uz veseliem skaitļiem, un cita veida vērtībām - piemēram, līnijām.

veidā, atbalsts šādiem blokiem ir daudz interpretēt augsta līmeņa programmēšanas valodas, piemēram, PHP, Perl, Ruby, Python, Tcl, JavaScript, un citi.Par valodām, kurām nav iebūvēto rīku, lai strādātu ar asociatīvo masīvu, radīja milzīgu skaitu ieviešanu veidā bibliotēkām.

piemērs asociatīvo masīvu var kalpot kā tālruņu katalogā.Šajā izgudrojuma realizācijas variantā, vērtību kopumu "F.IO + e ", un galvenais - telefona numuru.Tālruņa numurs ir viens meistars, bet viens cilvēks var piederēt vairākas telpas.

Associated pagarinājums

Jāatzīmē, ka slavenākais no paplašināšanās iekļauj šādu informāciju:

  • KATRA - «iet», lai saglabātu visus pārus.
  • CLEAR - lai izdzēstu visus ierakstus.
  • MIN - atrast pāris ar viszemāko atslēgu.
  • MAX - atrast pāri ar visbūtiskākie.

Pēdējos divos gadījumos jums ir nepieciešams, lai uz taustiņiem norādītas sekas salīdzinājumu.

implementācijas asociatīvā bloki

Ir daudz dažādu implementācijas asociatīvā masīva.Visbiežākās īstenošana var būt balstīta uz vienkāršu masīvs, kura sastāvdaļas ir izgarojumi (vērtība atslēgu).Lai paātrinātu meklēšanas pasākumus var pasūtīt par masīva sastāvdaļu un īstenot galveno konstatējumu, izmantojot bināro meklēšanu.Bet tas palielinās daudz laika jums ir nepieciešams, lai pievienotu jaunu pāri, jo būs nepieciešams "push" no masīva, kas ir parādījies tukšā šūnā iepakot svaigu ierakstu sastāvdaļas.

pazīstamākais īstenošana, pamatojoties uz dažādiem meklēšanas kokiem.Piemēram, tipisks Lasītavā STL no C ++ vieta konteinerā tiek realizēta, pamatojoties uz melno un sarkankoka.Stilā Ruby, TCL, Python izmanto tipa hash tabulu.Ir arī citi īstenošana.

Kopumā katram īstenošana ir savas priekšrocības un trūkumi.Ir svarīgi, ka visas trīs operācijas tika izpildīti vidēji, un sliktākajā periodā niansi par (log n), kur n - pašreizējais numurs, lai saglabātu pag.Pēc saskaņotas meklēšanas koku (tostarp melno un sarkano koku), šis nosacījums ir izpildīts.

zināms, ka realizācijas, pamatojoties uz hash tabulas, ko definē kā vidējo laika O (1), kas ir labāks nekā darbībās, pamatojoties uz meklēšanas koku.Protams, tas negarantē ātrgaitas izpildi konkrētām darbībām: ilgums INSERT paziņojumu tiek minēta kā vissliktākā O (n).INSERT process tiek veikts uz ilgu laiku, kad maksājuma koeficients sasniedz augstāko punktu, un ir nepieciešams rekonstruēt hash indeksu tabulu.

veids, šie paziņojumi hash slikti, ka uz šī pamata nav iespējams veikt strauju papildu rīcība MAX, MIN un šķērsošana algoritms, lai saglabātu visus pārus samazinājuma secībā vai palielinot taustiņus.