Vargu i dyanshëm në JavaScript. Masivi Trivimirny grup js

Zharoznizhyuchі zasobi për fëmijët njihet si pediatër. Dyshohet se ka situata të ndihmës së pavolitshme në rast të temperaturës, nëse fëmija ka nevojë të japë pafajësisht. Etërit Todi marrin përsipër shkathtësinë dhe qëndrueshmërinë e barnave për uljen e temperaturës. A lejohet t'u jepet gji fëmijëve? Si mund ta mposhtni temperaturën e fëmijëve më të mëdhenj? Cilat janë më të mirat?

  • I. Lista e vargjeve të referencës
    1. Për çdo metodë dhe metoda vendase
    2. për lak
    3. Në mënyrë korrekte për ... në lak
    4. Për ... e lakut (përsëritës në mënyrë implicite fitimtare)
    5. Në mënyrë eksplicite viktoriani i përsëritësit
    1. Mënyra viktoriane për të numëruar vargjet e referencës
    2. Rimishërimi në grupin e referencës
    3. Respekt për objektet e klasës së mesme vikonannya

I. Lista e vargjeve të referencës

Në një moment të caktuar є ekzistojnë tre mënyra për të përsëritur mbi elementët e grupit të përhapur:
  1. Array.prototype.forÇdo metodë;
  2. klasik për lak;
  3. "Saktësisht" indukton një për ... në ciklin.
Përveç kësaj, nezbar, me shfaqjen e standardit të ri ECMAScript 6 (ES 6), ka edhe dy mënyra të tjera për të pastruar:
  1. për ... e ciklit (përsëritës i nënkuptuar fitimtar);
  2. shprehimisht fitimtar i përsëritësit.

1. Metoda për Secilin dhe metodat vendase

Meqenëse projekti juaj i sigurimit është gati për t'u përshtatur me standardin ECMAScript 5 (ES5), ju mund të zgjidhni një nga risitë - metodën forEach.

Vikoristanny prapanicë:
var a = ["a", "b", "c"]; a.forÇdo (funksioni (hyrja) (konsola.log (hyrja);));
Në versionin jashtë kutisë së forEach victorian, ekziston një lidhje me bibliotekën es5-shim për shfletuesit që nuk kanë një qasje origjinale. IE 8 dhe më shumë versione të hershme janë të njohura për ta, pasi është ende hera e parë që fiton.

Përpara transferimit për çdo, përdoren ato që nuk kanë nevojë të ekspozohen ndaj ndryshimeve lokale për zgjedhjen e indeksit dhe vlerës së elementit të rrjedhës në grup, aroma e çuditshme transferohet automatikisht në funksionin e fitilit të ziles ( kthimi i thirrjes) në argument.

Përderisa mund të prekeni me vitrati në një shishe wicklik për një element lëkure, mos u bëni të paduruar dhe lexoni tekstin.

Karakteristikat e ForCeach për numërimin e të gjithë elementëve në grup, megjithëse ES5 i vogël, propozon më shumë se disa metoda të thjeshta për numërimin e të gjithë elementëve të ndryshëm, plus një listë për çdo numër prej tyre:

  • çdo kthesë është e vërtetë, nëse për një element të lëkurës një sërë vlerash kthese janë hedhur në true.
  • disa - rrotullojeni true, nëse dëshironi që vlera e kthimit të thirrjes të konvertohet në true për një element në grup.
  • filtër - grup kryesor, i cili përfshin elementet e grupit të daljes, për disa kthime të thirrjeve ai kthehet i vërtetë.
  • harta është një grup fletëpalosjesh, si të shtoni vlerën, si të lindni! balonë.
  • zvogëloni - ndërtoni grupin në të njëjtën vlerë, mbylleni balonën në elementin e lëkurës së grupit, rregulloni atë nga e para (mund të jetë kafe për llogaritjen e shumës së elementeve në grup dhe funksionet më të rëndësishme).
  • reduceRight - në thelb e ngjashme me reduktimin, por përsërit mbi elementet.

2. Cikli for

Plak i mirë për drejtues:

Var a = ["a", "b", "c"]; indeksi var; për (indeks = 0; indeks< a.length; ++index) { console.log(a); }
Për sa kohë që i gjithë cikli nuk ka rëndësi, dhe vetë cikli ndjek kodin kritik për sa i përket produktivitetit (i cili është shumë i ulët), atëherë është e mundur të zgjidhet versioni "më optimal" për vëllezërit dhe motrat për të bërë grupin:

Var a = ["a", "b", "c"]; indeksi var, len; për (indeks = 0, len = a.gjatësi; indeks< len; ++index) { console.log(a); }
Teorikisht, i gjithë kodi është fajtor për tre shvids, poshtë ballit.

Nëse rendi i numërimit të elementeve nuk është i rëndësishëm, atëherë është e mundur të shkoni më tej në planin e optimizimit dhe të dilni nga rruga për zgjedhjen e të gjithë grupit, duke ndryshuar rendin e numërimit në atë të shëndoshë:

Var a = ["a", "b", "c"]; indeksi var; për (indeks = a.gjatësi - 1; indeks> = 0; --indeks) (konsol.log (a);)
Në fakt, në motorët modernë JavaScript, nuk është e rëndësishme të nënkuptojmë asgjë me optimizimin.

3. Në mënyrë korrekte për ... në lak

Nëse doni të kënaqni vikoristovuvati për ... në lak, mbani mend, shkatërrimi i vargjeve nuk janë ata për të cilët ka shenja. Në të gjitha shtesat, cikli for ... në NUK kalon nëpër grupin e indeksit, por fuqinë e tejmbushur të objektit.

Protestoni, në disa raste, si për shembull mbingarkimi i grupit, sepse ... në mund të shfaqet kanella, sapo të goditni në shenjë kur hyni, siç tregohet në aplikacionin më poshtë:

// a - shpërndarja e vargut var a =; a = "a"; a = "b"; a = "c"; për (tasti var në a) (nëse (a.hasOwnProperty (çelësi) && /^0$|^\d*$/.test(çelësi) && kyç<= 4294967294) { console.log(a); } }
Në këtë aplikacion, ka dy rishikime të ciklit të përsëritjes së lëkurës:

  1. atëherë, grupi nuk ka fuqi mbi im'yam kyç (jo i joshur nga prototipi).
  2. atëherë, "çelësi" është një rresht, ku duhen hakmarrë dhjetëra rekorde të një numri të plotë, vlera e të cilave është më e vogël se 4294967294. A merren karakteret si numri i fundit? Vlera e indeksit të grupit në ES5, më e forta, është indeksi më i madh, i cili mund të jetë elementi në grup: (2 ^ 32 - 2) = 4294967294.
Natyrisht, ndryshime të tilla ndodhin në një orë gjatë ciklit. Nëse grupi është më efikas, nuk ka lak për, por vetëm ato elemente, të cilat janë qartësisht të rëndësishme në grup, do të kalojnë në një gamë të gjerë. Pra, në aplikacion do të ketë një viconano të të 3 përsëritjeve (për indekset 0, 10 dhe 10000) - kundrejt 10001 në ciklin për.

Mos shkruani një kod kaq të rëndë të ndryshimeve të lëkurës një herë, nëse keni nevojë të ndryshoni grupin, mund ta lëshoni atë në funksionin viglyadi okremoї:

Funksioni arrayHasOwnIndex (array, çelës) (ktheje grupin.hasOwnProperty (çelës) && /^0$|^\d*$/.test(çelësi) && kyç<= 4294967294; }
Cikli Todi tilo me prapanicë do të thotë të shpejtosh:

Për (çelësi në a) (if (arrayHasOwnIndex (a, çelës)) (console.log (a);))
Ndryshimet e kodit Razglyanuyu vische є universale, të vlefshme për të gjitha llojet. Nëse dëshironi të zëvendësoni një të ri, mund të zgjidhni një version më të madh të shkurtër, nëse është formalisht dhe jo saktësisht i saktë, nëse jo, nuk është më e rëndësishmja, po shkoj për më shumë lloje:

Për (çelësi në a) (nëse (a.hasOwnProperty (çelës) && String (parseInt (kyç, 10)) === çelës) (konsole.log (a);))

4. Lak për ... e (në mënyrë implicite viktoriane e përsëritësit)

ES6, ndërsa është ende në statusin e zi, është fajtor për futjen e iteratorëve në JavaScript.

përsëritës - zbatimi i protokollit, i cili është një mënyrë standarde për të refuzuar kuptimin e fundit (kintsevo ose jo të ndërprerë).
Një iterator është një objekt tse, në të cilin metoda tjetër () është caktuar një funksion pa argumente, i cili e rrotullon objektin me dy autoritete:

  1. bërë (boolean) - pranoni vlerën true, si një përsëritës për të bërë përsëritjen e fundit. Në radhë të parë, vlera është e rreme.
  2. vlera - vlera e vlerës që do të rrotullohet nga përsëritësi. Ndoshta nuk është caktuar (jashtë), pasi fuqia e bërë është e vërtetë.
Bagato vbudovanі ob'єkti, përfshirë. spravzhn_ masivi, mayut іteratorii për zëra. Mënyra më e thjeshtë për të ruajtur një përsëritës në vargjet e referencës është të krijoni një ndërtim të ri për ... of.

Prapa viktoriane për ... e:

Var val; var a = ["a", "b", "c"]; për (val e a) (konsol.log (val);)
Aplikacioni hover ka një për ... të ciklit në mënyrë implicite wiklikє një përsëritës të objektit Array për heqjen e vlerës së lëkurës në grup.

5. Fitorja eksplicite e Iteratorit

Iteratoria mund të jetë gjithashtu fitimtare, por padyshim, megjithatë, kodi është më i palosshëm, për shkak të ciklit për .... Duket kështu:

Var a = ["a", "b", "c"]; var it = a.hyrjet (); hyrje var; ndërsa (! (hyrja = ajo.tjetër ()). bërë) (konsol.log (hyrja.vlera);)
Në këtë aplikacion, metoda Array.prototype.entries rrotullon një përsëritës, i cili përdoret për caktimin e një vlere në një grup. Në hyrjen e lëkurës.vlera për të marrë hak ndaj grupit në formën e [çelës, vlerë].

II. Mbingarkesa e objekteve të ngjashme me masën

Vargjet e referencës Krim, JavaScript mund të përdoren gjithashtu objekte të ngjashme me masën ... Këto janë vargjet e referencës së atyre që nuhasin fuqinë e gjatësisë dhe fuqinë e emrave të numrave, të cilët lidhen me elementët e grupit. Por ju mund ta quani atë një koleksion DOM të NodeList dhe pseudo-argument argumentesh, të aksesueshëm për çdo funksion / metodë.

1. Mënyrat Vikoristannya për të përsëritur mbi vargjet e referencës

Si minimum, nëse jo të gjitha, metodat e numërimit të vargjeve të referencës mund të mbërthehen për të numëruar objekte të ngjashme me masën.

Ndërtimet për dhe për ... në mund të ngjiten në objekte të ngjashme me masën në të njëjtën mënyrë si më parë.

Metodat ForEach dhe іnshі Array.prototype vendosen gjithashtu në objekte të ngjashme me masën. Për të gjithë, është e nevojshme të përdorni Wiki Function.call ose Function.apply.

Për shembull, nëse dëshironi të ruani përEach përpara se childNodes e objektit Node të jetë në fuqi, atëherë provoni këtë:

Array.prototype.forEach.call (node.childNodes, funksioni (fëmijë) (// nuk ka problem me fëmijën));
Për hir të pranimit të përsëritur fitimtar të një pranimi më të gjerë, është e mundur të përdoret metoda Array.prototype.forÇdo në kontekstin e të ligjve, fitimtarëve dhe agjërimit:

// (Transferoni, por i gjithë kodi më poshtë është në të njëjtën zonë të shikimit) var forEach = Array.prototype.forEach; // ... përÇdo thirrje (node.childNodes, funksion (fëmijë) (// nuk ka problem me fëmijën));
Nëse, në një objekt të ngjashëm me masën, ai është një përsëritës, atëherë ai mund të jetë vikoristovuvati në mënyrë të qartë ose të nënkuptuar për përsëritjen mbi një objekt në të njëjtën mënyrë si për vargjet e referencës.

2. Konvertimi në grup referencë

Ekziston edhe një mënyrë tjetër, edhe më e thjeshtë, për të renditur një objekt të ngjashëm me masën: transformimi i tij në një grup referimi dhe aftësia për të parë nëpër vargjet e referencës. Për ri-zbatim, mund të zgjidhni të përdorni metodën universale Array.prototype.slice, e cila mund të ngjitet në një objekt të ngjashëm me masën. Luftimi është edhe më i thjeshtë, siç tregohet në prapanicën më poshtë:

Var trueArray = Array.prototype.slice.call (arrayLikeObject, 0);
Për shembull, nëse dëshironi të konvertoni koleksionin NodeList në një grup referimi, do t'ju duhet afërsisht kodi i mëposhtëm:

Var divs = Array.prototype.slice.call (document.querySelectorAll ("div"), 0);
Përditëso: Yak bulo tregohet në komentet e rock dhe torbasow, në ES6 mund të zëvendësoni Array.prototype.slice me një metodë më të madhe Array.from.

3. Respekt për objektet e klasës së mesme

Nëse rregulloni metodat Array.prototype në përkufizimin e mesit të listës (si koleksionet DOM), atëherë fajësoni nënën për respekt, se roboti i saktë i këtyre metodave nuk është i garantuar në të gjitha sferat e mesme të ekranit (përfshirë shfletuesit). Nuk ka nevojë të shtroni sjelljen e një objekti specifik në një mjedis specifik, më saktë, sepse operacioni abstrakt HasProperty është zbatuar në të njëjtin objekt. Problemi është se vetë standardi ES5 lejon mundësinë e sjelljes së gabuar të objektit në lidhje me të gjithë operacionin (ndarja §8.6.2).

Për këtë është e rëndësishme të testoni robotin e metodave Array.prototype në mjedisin e lëkurës së shfletuesit (shfletuesit), në të cilin planifikohet të testohet ruajtja juaj.

Në statty përpara folëm për të njëjtën gjë dhe si është pratsyuvati. Ne do të flasim më shumë për këtë statistikë. bagatovymіrny massivі.

Vargjet Tse, të cilat kanë një element më shumë, janë gjithashtu vargje. Gjethet ugar janë të zhveshura, pranvera mund të quhet grup i dyfishtë(2 rivnya) abo grup i parëndësishëm(3 rivnya) abo chotirivimirnim(4 rubla) dhe deri më tani.

Më e popullarizuara, dërgohet te grupi me të njëjtën madhësi, i cili më së shpeshti është fitues në grupin dydimensional. Vetë yogo, vivchimo më shumë leksion.


Yak bachite, elementë të grupit dydimensional є grup njëdimensional. Yakbi ci odnirni masivi hak masivi, pastaj arr bouv bi është trivimirnim.

Për prapanicën, le të shpërndajmë tre vargje të thjeshta dhe danim të memorizuar. I pari mbahet mend me numra të çiftuar, tjetri me numra të paçiftuar dhe i treti mbahet mend me homazhe të mëdha.

// Shumë vargje boshe var evenNumbers = Array i ri (); // Zminna k - për indekset në grupin çiftNumrat var k = 0; var oddNumbers = grup i ri (); // Ndryshimi n - për indekset në grupin oddNumbers var n = 0; var data = grup i ri ("makinë", "avion", e vërtetë, 89, "m"); // Mësoni përmendësh grupin evenNumbers, me numra të çiftuar për (var i = 1; i

Për t'u habitur se si të jeni në mes të grupit, mund të shpejtoni me një instrument të tillë si p.sh. konsol.

Për shembull, ne do të dëshironim të shtonim një grup numrash të paçiftuar oddNumbers. Për kodin më poshtë, rreshti i mëposhtëm është shkruar:

Console.log (oddNumbers);

Kontrolloni rezultatin, ju duhet të shihni tastierë në shfletues... Me Google Chrome, kjo është mënyra e mëposhtme: sulmi i klikimit të djathtë të Misha në anë, dhe nga menyja e kontekstit, zgjidhni opsionin "Shiko kodin", në mënyrë që të jetë një inspektor. Në versionin anglisht, opsioni quhet Inspect.


Në fund, do të ketë një panel mjetesh në shitje me pakicë. Ata duhet të shkojnë në skedën Console.


Tani për atë shkop grup i hapur i dyanshëmËshtë e nevojshme t'i zhveshni dhe t'i shtoni në një masiv të ri njëdimensional, pasi hapën derën.

( konsol.log (twoDimens);

Podivimsya në tastierë në vend të grupit të dhënë.


mbingarkesë grupi dyanësh

Për një kalli, si të kthehemi te elementët e një vargu të dyfishtë.

Yak і me vargje të vetme, duke u kthyer në elemente që duhen grabitur nga indekset e tyre.

Për prapanicën, le të vivedemo në ekran, një element me indeks 3 me një grup numrash tek. Indeksi i grupit njëdimensional të numrave tek në grupin dydimensional të dyDimensioneve të një (1).

Document.write ("Elementi me indeks 3 me një grup numrash të paçiftuar dNumrat tek dera:" + dyDimens); // Artikulli: 7

Në grupin e dyDimensave, numri i kafshëve është deri në elementin me indeks 1. Elementi, i cili gjendet nën indeks, është grupi i Numrave tek. E para në të gjithë grupin e kafshëve është deri në elementin me indeks 3, që është є numri 7.

Tani do të fillojmë deri në vakt si varg me dy anë të kthesës.

Grup Perebir me dy anë për të luftuar për një nën-cikël shtesë. Për prapanicën, është brutale të kalojmë mbi grupin tonë të dyDimenseve.

Për (var i = 0; i< twoDimens.length; i++){ for(var j = 0; j < twoDimens[i].length; j++){ document.write("

Element me indeks "+ I +" "+ j +" porta: "+ Dydimens [i] [j] +"

"); } }

Çiklisti i parë ka robimo duke mbingarkuar grupin e dyDimenseve. Çiklistët e tjerë janë grabitur nga i njëjti element (varg). Shoqërues, ndryshim i dorіvnyuє 0. Në një cikël tjetër, një shoqërues po kalon me forcë grupin e parë të numrave çift, që është indeksi 0. Unë, në mes të një cikli tjetër kafshësh, deri te elementet e grupit të dhënë. Në këtë rang: dyDimens [j]. De j ndryshoni nga 0 në çiftNumrat.

Kur përsërisim elementet nga grupi i parë, rrotullohemi deri në ciklin e parë, e rritim ndryshimin i dhe kalojmë në përsëritje mbi një grup tjetër numrash tek, i cili mund të jetë indeksi 1. Në këtë mënyrë, boshti përpiqet të ndërpresë elementi i lëkurës së masës dydimensionale dydimensionale.

Tani ne jemi të befasuar me rezultatin e këtij kërkimi:


Boshti dhe gjithçka, për mënyrën se si dua të përditësohem në të gjithë statistikat. Tani ju e dini se si të hapni një grup të dyanshëm, si të ktheni te elementët e një grupi të dyanshëm dhe si të ktheni një grup të dyanshëm. Unë jam i inkurajuar që gjithçka po gumëzhin. Ju uroj suksese të mëdha!

Unë po shikoj të gjithë ata që janë kapur në një temë të tillë, si JavaScript, shumë gjëra dhe shumëllojshmëri. Në botimet aktuale do të përpiqem të jap një temë për të gjitha detajet e çështjes.

Për këtë, kur lexoni statutet dhe kuptoni, shumicën e kohës në suplementet e bazuara në ueb ka shumë bug dhe masivi, pasi qelbet dhe çfarë rangu mund të menaxhohen dhe sortuvati. Le të fillojmë deri tani!

Si të gjeni një bagatovymirnі massivi dhe për kë nevojitet era e keqe?

Për një kalli varto zgadati, siç del, një varg i jashtëzakonshëm i së njëjtës kohë.

varg varg =

Dhe tani, mbani mend se grupi i pasur i vargjeve është i gjithë grupi i vargjeve. Do të pres, tingëlloj si një tautologji. Megjithatë, lexojeni përsëri. Në masë të madhe, një sasi e madhe parash ruhet me një shumë të vetme investimesh në të reja.

Situata do të jetë e qartë. Në kalli, si një grizzly, shkruani emrin tuaj dhe kur ta përfundoni, në ekran shfaqet një tabelë vlerësimi me emrat e gravitës dhe rekordet.

Është e qartë se ky informacion është i disponueshëm në bazën e të dhënave. Ale nëse mi її vityagaєmo nga baza e të dhënave, atëherë do të njohim pasurinë e grupit vermilion. Gjithashtu, në kontrollin e lëkurës, mund të ruani gravitetin e hyrjes dhe numrin e pikave.

Ne do të jemi ende në rangun sulmues:

var results = [["Markus", 333], ["Natasha", 211], ["Oleksiy", 124]];

Yak bachite, informacioni mund të merret që në fillim. Mund të ketë të dy rreshta, numra dhe navi. Është po aq e mundur nëse nuk ka lloje masivash.

Kur ka shumë ushqim, deri tek elementët sillen përmes nënoperatorit.

Për të konsoliduar materialin, analizoni një program të vogël.

Rezultatet e vlerës =

Masivi є për ta përfunduar me dorë për hir të nderimeve komplekse të rregullta në përpunimin їkh. Deri atëherë, është shumë e lehtë të punosh me ta, dhe në të njëjtën kohë, është e lehtë të arrish tavanin.

Si të sortuvannya danih

Për vargjet në javascript, metoda quhet me emër rendit ()... Daniy është një instrument shumë i keq. Unë do të shpjegoj menjëherë pse.

Nëse përdorni një metodë pa parametra, atëherë automatikisht nën-vargjet janë nën-vargje sipas elementit të parë sipas rendit alfabetik. Pra, me Wiklik rezultatet.rendit () për të renditur objektin do ta shohë boshtin si ky:

Oleksiy, 124

Markus, 333

Natasha, 211

Dhe nëse mbani mend futjen në lëkurë me një sërë elementesh, atëherë do të shihni:

124, Oleksiy

211, Natasha

333, Markus

Në të njëjtën kohë, për rregullimin, të gjithë elementët do të ndryshohen çdo orë në numrin e rreshtave.

Nëse keni nevojë për një funksion, një lloj elementi në një mënyrë jo standarde, për qëllimin e zgjidhjes së detyrave specifike, atëherë mund ta shkruani atë në mënyrë të pavarur dhe ta transferoni parametrin në rendit ()... Në prani të shumë varto vrahuvatëve, është funksioni që i është caktuar koristuvaçit të jetë fajtor për:

  • një numër pozitiv (në pjesën kryesore, vibroni 1), i cili është i pari nga kuptimet e një elementi pranë një tjetri kur përcaktohet;
  • një numër negativ (thirrni -1), nëse një element tjetër është fajtor për të parën;
  • zero, nëse dy vlera janë të kundërta.

prapanicë jak le të kalli grup rezultatet vidsortuєmo për syze. Për më tepër, rezultatet do të jenë në rendin nga më i madhi tek më i vogli. Çmimi mund të realizohet në dy mënyra.

Në opsionin e parë, unë ndryshoj logjikën e renditjes, kështu që në situatë, nëse duhet të ktheni një numër pozitiv, e kthej negativisht dhe navpaki.

Tabela e regjistrimit:

Dhe boshti i rrugës tjetër, pasi ka lënë në hije logjikën e renditjes me një të papërfunduar; anasjelltas ()... Yak mund të shihet nga emri, anasjelltas ndryshon rendin e kalimit të elementeve në ato të kundërta.

Funksioni i renditjes () do të jetë hapi tjetër:

1 2 3 4 5 funksioni RecordSort (a, b) (nëse (a> b) kthen 1; përndryshe nëse (a< b) return -1; else return 0; }

funksioni RecordSort (a, b) (nëse (a> b) kthen 1; përndryshe nëse (a< b) return -1; else return 0; }

Dhe boshti i shkrimit nuk është e njëjta metodë.

Visnovok kryhet në një gradë analoge.

Dua të brutalizoj respektin tuaj për një moment të rëndësishëm. Kur fitues, funksionet e dhëna, të gjitha ndryshimet shfaqen në masë, deri në të cilat ato ruhen. Me një gradë të tillë, nëse keni nevojë të ruani viglyad danikh-in e parë, atëherë hapni një kopje dhe shkruani përsëri.

Epo, boshti I і raspovіv për vargjet e pasura dhe të gjithanshme dhe іх shumëllojshmëri. Nëse jeni të nderuar me artikullin, atëherë regjistrohuni në blog dhe lexoni jo më pak publikimet. Unë do të jem për ripostime. Deri herën tjetër!

Boo!

Pas Povagoyu, Roman Chuєsov

masivi

varg- është renditur numri i vlerave. Vlerat në një grup quhen elementë, dhe një element i lëkurës karakterizohet nga një pozicion numerik në një grup, i cili quhet indeks. Masiv në JavaScript - jo shtypës: elementët e një grupi mund të jenë një lloj, për më tepër, elementë të ndryshëm të të njëjtit grup mund të jenë nëna të një lloji. Vargu elementar mund të lundrohet nga objekte ose nga vargje të tjera, gjë që lejon strukturat e palosshme të të dhënave, si objektet masivi dhe grupet masivi.

Shikimi i indekseve të vargjeve në JavaScript për t'u rikuperuar nga zero dhe që ata të marrin numra 32-bitësh është elementi i parë i një grupi me indeks 0. Massive në JavaScript është dinamike: era e keqe mund të ndryshojë dhe të ndryshojë në mënyrë të pashmangshme Nuk ka nevojë të heqësh qafe madhësinë fikse të vargjeve kur ato hapen, ose të riaplikosh kujtesën kur ndryshoni madhësinë.

Massive në JavaScript është një formë e veçantë objektesh, dhe indekset e massiv nënkuptojnë tre të tjera, jo vetëm emrat e autoriteteve, si për shumë є në numra.

grup rrjedhin

Mënyra më e lehtë për të zgjeruar grupin pas fjalës së mirëfilltë, e cila është një listë e thjeshtë e elementeve të ndara nga gunga elementësh në grup në harqe katrore. Vlera në grupin e mirëfilltë nuk është e kufizuar nga konstante - mund të jetë ose virazi, duke përfshirë objektet fjalë për fjalë:

Var bosh =; // Numrat e vargut bosh të vargut =; // Vargu me pesë elemente numerike var misc = [1.1, true, "a",]; // 3 elementë të llojeve të ndryshme + koma përfundimtare var bazë = 1024; var tabela =; // Vargu me ndryshim var arrObj = [,]; // 2 në grupin e gjithë mesit, për të marrë hak

Sintaksa e vargjeve literale ju lejon të futni një koma përfundimtare opsionale, në mënyrë që fjalë për fjalë [,] të shfaqet në një grup me dy elementë, jo tre.

Mënyra më e mirë për të hapur një grup poliagus në konstruktorin wiklik Array ()... Konstruktori Viclicati mund të bëhet në tre mënyra të ndryshme:

    Konstruktor Viklicati pa argumente:

    Var arr = Array i ri ();

    Një grup bosh, një LITERAL ekuivalent, do të hapet për pjesën tjetër të popullsisë.

    Konstruktori Viklicati është një argument i vetëm numerik për të filluar me një grup të ri:

    Var arr = Array i ri (10);

    Një grup bosh i dojinit të caktuar do të krijohet për shumë njerëz. Kjo formë e një wiklick të konstruktorit Array () mund të përdoret për përcjelljen e memories në grup, për sa kohë që është disa nga elementët e tij. Për të brutalizuar respektin, por në të njëjtën kohë në grup nuk ka kuptime.

    Natyrisht, caktoni dy ose më shumë elementët e parë në grup ose një element jonumerik në Wiklik të projektuesit:

    Var arr = Array i ri (5, 4, 3, 2, 1, "test");

    Në përgjithësi, argumentet e konstruktorit do të përmbajnë vlerat e elementeve të grupit të ri. Pranimi i literaleve të vargjeve është praktikisht aq i thjeshtë sa ruajtja e konstruktorit të Array ().

Leximi dhe regjistrimi i elementeve në grup

Qasja në elementët e grupit ofrohet për ndihmën e operatorit. E keqja nga harqet është fajtore për të qenë e pranishme në grup. Harku i mesëm mund të tërhiqet në vend të virazit, i cili nuk rrotullohet në të njëjtën mënyrë. Sintaksa Tsei është një jak shtesë për lexim, pra për të shkruar kuptimin e një elementi në një grup. Gjithashtu, le të themi të gjitha udhëzimet e JavaScript që qëndrojnë pezull:

// Krijo një grup me një element var arr = ["botë"]; // Lexo elementin 0 var vlera = arr; // Shkruani vlerën e elementit 1 arr = 3.14; // Shkruani vlerën e elementit 2 i = 2; arr [i] = 3; // Shkruani vlerën në elementin 3 arr = "privit"; // Lexoni pikat 0 dhe 2, shkruani vlerën në artikullin 3 arr] = arr;

Unë mendoj se çfarë masivi është një lloj objekti i veçantë. Harqet katrore, si një vikoristoyutsya për qasje në elementët e grupit, funksionojnë në të njëjtën mënyrë, si harqet katrore, si vicoristoyutsya për aksesin tek autoritetet e objektit. Interpretuesi JavaScript i transformon vlerat në harqet e indekseve numerike në rreshta - indeksi 1 shndërrohet në rreshtin "1" - dhe më pas rreshtat e zëvendësimit janë emrat e autoriteteve.

Në indekset numerike të riinterpretuara, nuk ka asgjë të veçantë në rreshta: e njëjta gjë mund të profetizohet me anë të objekteve të jashtëzakonshme:

Var obj = (); // Krijo një objekt të thjeshtë obj = "një"; // Indexuvati yo në numra të plotë

E veçanta e grupit të polariteteve qëndron në faktin se, kur emrat fitimtarë të pushtetit, siç janë numrat e paarsyeshëm, fillojnë automatikisht kuptimin e fuqisë. gjatësia... Për shembull, në mes të arrit me elementin e vetëm. Pastaj pikat e vlerave të elementeve me indekset 1, 2 dhe 3. Si rezultat i këtyre operacioneve, vlera e fuqisë së gjatësisë ndryshoi dhe u bë e barabartë me 4.

Një rrëshqitje e treguesve të qartë të indekseve në grupin e emrave të autoriteteve të organeve. Të gjithë indekset є emrat e autoriteteve, gjithsej vetëm autoritetet me emra, të përfaqësuar nga shumë numra є indekse. Të gjitha masivët janë objekte, dhe ju mund t'u jepni atyre fuqi me emrat. Megjithatë, kur punoni me fuqi, si indekset є në grup, grupi për t'iu përgjigjur çmimit, e njëjta vlerë e fuqisë është gjatësia, nëse është e nevojshme.

Kafshore respekt, se në cilësinë e indekseve të vargjeve lejohet vikoristovuvati negativ dhe jo numra të plotë. Në një shumëllojshmëri të gjerë numrash, numri do të shndërrohet në rreshta, po aq zëvendës sa emri i autoriteteve.

Shtimi dhe vizualizimi i elementeve të grupit

Ne kemi mbështetur tashmë mënyrën më të thjeshtë për të shtuar artikuj në një grup fushash në atë që i atribuohet indekseve të reja. Për shtimin e një ose më shumë elementeve në grup, mund të përdorni edhe metodën vicorist shtytje ():

Var arr =; // Krijo një grup bosh arr.push ("zero"); // Shtoni vlerën në fund arr.push ("një", 2); // Shtoni dy vlera

Është gjithashtu e mundur të shtohet një element në grup duke i caktuar një vlerë elementit arr. Për të futur një element në një kalli, një grup mund të jetë metodë vikoristovuvati unshift (), Me një numër të madh elementësh në grup, ata janë në pozitë me indekse më të larta.

Ju mund të shikoni një element grupi me ndihmën e operatorit të fshirjes, si fuqitë e veçanta të objekteve:

Var arr =; fshij arr; 2 në arr; // false, indeksi 2 në një grup jo-vlerash arr.length; // 3: operatori i fshirjes nuk e ndryshon autoritetin e grupit të gjatësisë

Elementi Vidalennya nagaduє (ale descho vіdrіznyaєtsya) caktimi i vlerës së papërcaktuar për një element të caktuar. Unë ju respektoj, por ruajtja e operatorit të fshirjes në një element nuk ndryshon vlerën e gjatësisë së fuqisë dhe nuk shkatërron elementët me indekse më të larta, por mbajeni bosh, por është tepër vonë për të parë elementin.

Përveç kësaj, aftësia për të parë elementët në grupin fundor do të falë kuptimin e ri të gjatësisë së fuqisë. Metoda Masivi Mayut pop ()(Duke vazhduar me metodën push ()), e cila ndryshon grupin me 1 rrotullim të vlerës së elementit të parë. Gjithashtu є metodë ndërrim ()(Përpunuar në metodën unshift ()), sikur keni parë një element në grupin e kallirit. Në krye të operatorit të fshirjes, metoda shift () shkatërron të gjithë elementët deri në pozicionin e indekseve të rrjedhës së poshtme.

Metoda Nareshty isnu bagatocyl bashkoj (), Duke ju lejuar të futni, shikoni dhe zëvendësoni elementet e grupit. Fitimi i kuptimit të gjatësisë së fuqisë dhe shkatërrimi i elementeve të grupit me indekse më të ulëta ose më të larta në botën e nevojës. Të gjitha metodat janë hequr nga rruga.

bagatovimіrnі masivi

JavaScript nuk pranon vargje "referencash" në shkallë të gjerë, por nuk lejon imitim të pacaktuar të vargjeve nga vargje. Për akses në elementin e haraçit në grupin e vargjeve, operatori duhet të pajiset me dy fitues.

Për shembull, le të themi se matrica është një grup vargjesh numrash. Matrica e elementit të lëkurës [x] është një sekuencë numrash. Për të hyrë në numrin maksimal në grup, ju mund të vikorstovuvati viraz matricës [x] [y]. Më poshtë, udhëzohet një prapanicë specifike, grupet e dyanshme shfaqen në tabela të shumta:

// Krijo një varg varg tabele me buggy = Array i ri (10); // Tabelat kanë 10 rreshta për (var i = 0; i

Metoda e klasës së grupit

Standardi ECMAScript 3 është i disponueshëm në magazinë Array.prototype pa funksione manuale për robotët me vargje, të cilat janë të disponueshme si metoda të çdo grupi. Këto metoda do të paraqiten në fillimin e fëmijëve.

Metoda e bashkimit ().

Metoda Array.join () do t'i transformojë të gjithë elementët në grup në rreshta dhe më pas do ta rrotullojë rreshtin. Një argument opsional i metodës mund të kalojë një rresht, pasi do të jetë fitimtar të shtohen elementë në një rresht në rezultat. Yakshcho një shpërndarës rreshtash nuk tregohet, koma është fitimtare. Për shembull, fragmenti fyes është dhënë në rreshtin e rezultatit "1,2,3":

Var arr =; arr.bashkohu (); // "1,2,3" arr.join ("-"); // "1-2-3"

Metoda e kundërt ().

Metoda Array.reverse () ndryshon rendin e kalimit të elementeve në një grup në një rirenditje të kundërt dhe të kundërt të vargjeve. Permutacioni shfaqet pa i dhënë përparësi grupit të mesëm, në mënyrë që metoda të mos i palos vargjet e reja në renditjen e objekteve, por t'i rirendisë ato në një grup tashmë ekzistues. Për shembull, një fragment fyes, metodat e kundërta () dhe bashkimi () janë de-fitimtare, dhe rezultati është rreshti "3,2,1":

Var arr =; arr.mbrapsht (). bashkohu (); // "3,2,1"

Metoda e renditjes ().

Metoda Array.sort () për renditjen e artikujve në grupin dalës dhe rrotullimin e pamjeve të vargjeve. Ndërsa metoda sort () fiton pa argumente, renditja () fiton sipas rendit alfabetik (për vendosjen e artikujve, do të riimagjinohet për një kohë në rreshta, nëse është e nevojshme). Elementet e parëndësishëm transferohen në grupin përfundimtar.

Për renditjen në çdo rend, si sipas rendit alfabetik, metoda sort () mund t'i kalohet funksionit si argument. Do të vendoset funksioni, i cili nga dy argumente është fajtor për atë të mëparshmin në listë. Pasi argumenti i parë është fajtor për mposhtjen e një tjetri, funksioni i përmbysjes është fajtor për përmbysjen e një numri negativ. Nëse argumenti i parë është fajtor për ndjekjen e një tjetri në grupin e larmishëm, atëherë funksioni është fajtor për kthimin e një numri më të madh se zero. Dhe meqenëse dy kuptime janë ekuivalente (në mënyrë që rendi të mos jetë i rëndësishëm), funksioni është fajtor që kthen 0:

Var arr =; arr.radhitje (); // Rendi alfabetik: 1111, 222, 33, 4 arr.sort (funksioni (a, b) (// Rendi numerik: 4, 33, 222, 1111 ktheje ab; // Rrotullo vlerën 0 // të paracaktuar në renditje rendit a i b)); // Sortumo në një mënyrë të madhe arr.sort (funksioni (a, b) (kthimi b-a));

Të brutalizosh respektin, me dorë, me fitore në një fragment të tërë të një funksioni të pandryshuar. Funksioni për të bërë një zgjedhje është vetëm këtu, sepse nuk ka nevojë t'jua japim atë.

Metoda concat ().

Metoda Array.concat () zgjeron dhe rrotullon një grup të ri, për të ekspozuar elementet e grupit të hyrjes, për çdo klik buv metodën concat () dhe vlerat e të gjithë argumenteve të kaluara nga metoda concat (). Thjesht nuk është çështje argumenti, është një grup argumentesh dhe është një element për t'u kthyer në një grup. Megjithatë, duket se transformimi rekurziv i një grupi vargjesh në një grup të vetëm nuk mund të shihet. Metoda concat () nuk e ndryshon grupin e daljes. Ulni majën e prapanicës:

Var arr =; arr.koncat (4, 5); // turn arr.concat (); // kthej arr.concat (,) // kthej arr.concat (4,]) // kthej]

Metoda e prerjes ().

Metoda Array.slice () rrotulloi fragmentin, ose nëngarkesat, të caktuara në grup. Dy argumente për metodën janë nisja e veshit dhe kthimi i fragmentit. Rrotulloni grupin për të marrë hak ndaj elementit, numrin e çdo treguesi nga argumenti i parë, plus të gjithë elementët fyes, deri në (por pa përfshirë) elementin, numrin e disa treguesve nga argumenti tjetër.

Jepet vetëm një argument, si ta kthejmë vargun për të hakmarrë të gjithë elementët nga pozicioni i kallirit deri në fund të grupit. Është sikur nuk ka arsye për argumentin, është kuptimplotë për mua, është numri i elementit. Pra, argumentit -1 i jepet elementi i fundit grupit, dhe argumentit -3 - elementi i tretë i grupit nga fundi. Boshti i boshtit të prapanicës:

Var arr =; arr.fetë (0.3); // kthesë arr.fetë (3); // kthesë arr.fetë (1, -1); // kthej arr.fetë (-3, -2); // kthesë

Metoda e bashkimit ().

Metoda Array.splice () është një metodë universale që ju lejon të futni çdo element të dukshëm në një grup. Në pamjen e metodave slice () dhe concat (), metoda splice () ndryshon grupin e daljes, i cili njihet gjithashtu si buv. Kafshore respekt, por metodat splice () dhe slice () mund të jenë emra edhe më të ngjashëm, ose mund të jenë operacione absolutisht të ndryshme.

Metoda splice () mund të shohë elementë nga grupi, të fusë elementë të rinj ose të shfaqë operacionet e shkeljes një orë. Elementet e grupit, nëse është e nevojshme, do të kundërpërgjigjen, nëse futja është e dukshme, do të shihet pa ndërprerje.

Argumenti i parë i metodës splice () është fillimi i pozicionit në grup, i cili do të rregullojë futjen sa më shpejt të jetë e mundur. Një argument tjetër është numri i elementeve që janë fajtorë për t'u parë (virizan) nga grupi. Një argument tjetër i lëshimeve shihet në të gjithë elementët e grupit të atyre të caktuar para fundit të grupit. Metoda splice () rrotullon një grup të të gjithë elementëve të largët, ose (si dhe një grup bosh).

Dy argumentet e para të metodës splice () fillojnë një element grupi që është i dukshëm. Për këto argumente, mund të ndiqni nëse ka një numër argumentesh shtesë, për të filluar elementet që do të futen në grup, duke korrigjuar nga pozicionet e treguara në argumentin e parë.

Var arr =; arr.splice (4); // rrotullohem, arr = arr.bashkim (1,2); // rrotullohem, arr = arr.bashkim (1,1); // rrotullohen; arr = arr =; arr.splice (2,0, "a", "b"); // rrotullohen; arr =

Metoda push () dhe pop ().

Metodat push () dhe pop () lejojnë primitive me vargje si me rafte. Metoda push () shton një ose më shumë elementë të rinj në fund të grupit dhe e kthen atë në një të ri. Metoda pop () shfaq një operacion zileje - shikon elementin e fundit të grupit, e ndryshon atë në një grup tjetër dhe rrotullon vlerën. Respekte kafshërore, ajo ofendim i metodës së ndryshimit të grupit dhe mosbërja e një kopje të modifikuar.

Metoda unshift () dhe shift ().

Metoda unshift () і shift () mund të manipulohet si push () і pop (), për fajin e faktit se era e keqe është futur dhe shihet elemente në grupin e kallirit, dhe jo në fund. Metoda unshift () i zhvendos elementet drejt indekseve të mëdha për të krijuar një këngë, duke shtuar një element ose një element në vesh në grup dhe duke e kthyer atë në një grup të ri. Metoda shift () pa dhe rrotulloi elementin e parë në grup, duke zhvendosur të gjithë hapat një pozicion poshtë, për të zënë vendin që godiste kallirin e grupit.

Bëhuni gati për projektin - ju lutem, faleminderit!
Lexoni gjithashtu
Sberbank (si dhe Oschadbank) Sberbank (si dhe Oschadbank) Zgjidhja e problemeve të licencës për Autocad Chi nuk fillon autocad Windows 7 Zgjidhja e problemeve të licencës për Autocad Chi nuk fillon autocad Windows 7 Udhëzime për regjistrimin e kodit PIN të CryptoPro, përpara orës së regjistrimit të disa dokumenteve - Udhëzime - AT Udhëzime për regjistrimin e kodit PIN CryptoPro, para orës së nënshkrimit të disa dokumenteve - Udhëzime - NË "PEK-Torg"