Vargjet. Vargjet shtytëse shembuj të javascript

Vargjet mund të manipulohen duke përdorur metoda të ndryshme të siguruara nga konstruktori Array.

Metodat pop / shtytje dhe zhvendosje / zhvendosje

Merrni parasysh metodat pop () dhe push (). Këto metoda ju lejojnë të punoni me vargje si pirgje. Stack është një strukturë e të dhënave në të cilën qasja në elemente është e organizuar sipas parimit LIFO (anglisht last in - first out, "last in - first out"). Parimi i pirgut mund të krahasohet me një pirg pllaka: për të marrë të dytën nga maja, duhet të hiqni pjesën e sipërme. Si funksionon tregohet në figurë:

Dhe kështu kthehemi në shqyrtimin e metodave push () dhe pop (). Metoda push () shton një ose më shumë elementë të rinj në fund të grupit dhe kthen gjatësinë e saj të re. Metoda pop () - heq elementin e fundit të grupit, zvogëlon gjatësinë e grupit dhe kthen vlerën që ajo hoqi. Vini re se të dyja këto metoda modifikojnë grupin në vend, në vend se të krijojnë një kopje të modifikuar të saj.

Var foo \u003d; // foo: foo.push (1,2); // foo: Kthen 2 foo.pop (); // foo: Kthen 2 foo.push (3); // foo: Kthen 2 foo.pop (); // foo: Kthen 3 foo.push (); // foo:] Kthen 2 foo.pop () // foo: Kthen foo.pop (); // foo: Kthen 1 var fruta \u003d ["dardha", "banane", "mollë"]; var zgjedhur \u003d fruta.pop (); document.write ("Ju zgjodhët timen" + zgjedhur); Provoni "

Metodat e zhvendosjes () dhe e zhvendosjes () sillen në të njëjtën mënyrë si pop () dhe shtytje (), përveç që futin dhe heqin elemente në fillim të grupit. Metoda unshift () zhvendos elementet ekzistuese drejt indekseve më të mëdha për të krijuar vend për elementë të rinj, shton një ose më shumë elemente në fillim të grupit dhe kthen gjatësinë e re të grupit. Metoda shift () heq elementin e parë të vargut dhe kthen vlerën e tij, duke zhvendosur të gjithë elementët pasues për të zënë hapësirën e lirë në fillim të vargut.

Var f \u003d; // f: f.shndërrim (1); // f: Kthimi: 1 f.shndërrim (22); // f: Kthimet: 2 f.shift (); // f: Kthimet: 22 f.shndërrim (3,); // f :, 1] Kthimi: 3 f.shift (); // f: [, 1] Kthimi: 3 f.shift (); // f: Kthimet: f.shift (); // f: Kthimi: 1

Bashkohuni me metodën

Metoda Array.join () përdoret për të kombinuar elementet e një grupi në një varg. Ju mund të kaloni një argument varg opsional në metodë, e cila do të përdoret për të ndarë elementet në varg. Nëse nuk përcaktohet asnjë përcaktues, atëherë karakteri i paracaktuar i ndarësit është presja kur thirret metoda.

Var a \u003d ["Era", "Shiu", "Zjarri"]; var myVar1 \u003d a. bashkohu (); // "Era, shiu, zjarri" var myVar2 \u003d a.join (","); // "Era, shiu, zjarri" var myVar3 \u003d a.join ("+"); // Dokumenti "erë + shi + zjarr ".write (myVar1 +"
"+ myVar2 +"
"+ myVar3); Provo"

Metoda Array.join () është e kundërta e metodës String.split (), e cila krijon një koleksion duke ndarë një varg në copa.

Metoda e kundërt

Metoda Array.reverse () kthen rendin e elementeve në grup dhe kthen grupin me elementët e rirregulluar. Kjo metodë nuk krijon një grup të ri me elementë të renditur, por i rendit ato në një grup tashmë ekzistues.

Var myArr \u003d ["një", "dy", "tre"]; dokument.shkruaj (myArr.reverse ()); Provoni "

Metoda konkat

Metoda Array.concat () krijon dhe kthen një koleksion të ri që përmban elementet e vargut origjinal në të cilin u thirr metoda konkat (), e mbushur në mënyrë të njëpasnjëshme me vlerat e të gjitha argumenteve të kaluara në metodën concat (). Nëse ndonjë prej këtyre argumenteve është vetë një grup, atëherë të gjithë elementët e tij do të shtohen. Emrat e vargjeve përdoren si argumente dhe specifikohen në rendin në të cilin dëshironi të bashkoni elementet e tyre.

Var a \u003d; a.concat (4, 5) // Kthen a.concat (); // e njejta gje - kthen a.concat (,) // Kthehet

Metoda e renditjes

Metoda Array.sort () rendit elementet e grupit në vend dhe kthen grupin e renditur. Nëse metoda sort () thirret pa argument, atëherë ai rendit elementet e vargut në mënyrë alfabetike (i shndërron përkohësisht në vargje për krahasim). Metoda sort () mund të marrë një funksion krahasimi si argument, i cili përcakton renditjen e renditjes së artikujve.

Var a \u003d ["Kivi", "Portokall", "Dardha"]; a.sortoj (); var s \u003d a.bashkojuni (","); // Portokalli, Dardha, dokumenti Kiwi. Shkruaj (s); // shembull me numra var myArr \u003d; myArr.sort (); dokument.shkruaj (myArr); // 1,10,2 Provo "

Ndoshta prisnit të shihnit një rezultat pak më ndryshe nga klasifikimi i numrave. Ky lloj renditje ndodh sepse metoda sort () rendit elementet duke i shndërruar në vargje. Prandaj, rendi që ata marrin është varg - në fund të fundit, "10"

Për të renditur në ndonjë rend tjetër jo-alfabetik, mund të kaloni një funksion krahasimi si argument për të renditur (). Megjithatë, vini re se funksionin e krahasimit duhet ta shkruani vetë. Ky funksion duhet të ketë dy parametra, pasi përcakton se cili nga dy argumentet e tij duhet të shfaqet i pari në listën e renditur. Për ta bërë më të lehtë për të kuptuar dhe shkruar një funksion të tillë, ekzistojnë disa rregulla me të cilat do të përcaktohet renditja e elementeve:

  • Nëse argumenti i parë duhet t'i paraprijë argumentit të dytë, funksioni i krahasimit kthen një numër negativ (nëse a
  • Nëse argumenti i parë duhet të ndjekë argumentin e dytë, atëherë funksioni i krahasimit kthen një numër pozitiv (nëse a\u003e b)
  • Nëse të dy vlerat janë ekuivalente (d.m.th., renditja e tyre nuk është e rëndësishme), funksioni i krahasimit kthen 0 (nëse a \u003d\u003d b)

Për krahasim, funksioni përdor elementet e vargut si argumentet e tij:

Funksioni foo (a, b) (// përcaktojë një funksion provë nëse (a b) kthen 1; ktheje 0; // nëse a \u003d\u003d b) var a \u003d; a.sortoj (foo); // vetëm emri i funksionit kalon si një dokument argumenti.write (a.join (",")); // shkruaj të njëjtën gjë më e shkurtër var a \u003d; a.sorto (funksioni (a, b) (// përdor funksionin anonim kthimin a - b; // funksioni kthen 0)); dokument.shkruaj (a); // 1,2,5,10 Provoje "

Hyrja e parë në shembull është shkruar në një mënyrë të tillë në mënyrë që të bëhet më e lehtë për të kuptuar se si funksionon. Vini re se sa i përshtatshëm është të përdorni një funksion anonim në fragmentin e dytë. Thirret vetëm një herë, prandaj nuk ka nevojë t’i jepni emër.

Shënim: Nëse ka elementë të papërcaktuar në grup, ato mbështillen deri në fund të grupit.

Metoda fetë

Metoda Array.slice () përdoret për të kopjuar zonën e specifikuar nga vargu dhe kthen një grup të ri që përmban elementët e kopjuar. Kjo nuk e ndryshon grupin origjinal.

Sintaksa e metodës:

Emri i Array. Fetë (fillo, mbaro);

Array_name duhet të zëvendësohet me emrin e grupit nga i cili dëshironi të nxirrni një grup specifik të elementeve për një grup të ri. Metoda merr dy argumente që përcaktojnë fillimin dhe mbarimin e pjesës së kthyer të vargut. Metoda kopjon një pjesë të grupit nga fillimi në fund, duke mos përfshirë fundin. Nëse specifikohet vetëm një argument, grupi i kthyer do të përmbajë të gjithë elementët nga pozicioni i specifikuar deri në fund të grupit. Ju mund të përdorni indekse negative - ato numërohen nga fundi i koleksionit.

Var arr \u003d; arr. fetë (0.3); // Kthen arr.slice (3); // Kthen arr.slice (1, -1); // Kthen arr.slice (-3, -2); // Kthimet

Metoda e bashkimit

Metoda Array.splice () është një metodë e përgjithshme për të punuar me vargje. Modifikon grupin në vend, në vend se të kthejë një grup të ri të modifikuar siç bëjnë metodat fetë () dhe konkat (). Metoda e bashkimit mund të heqë elemente nga një grup, të futë elementë të rinj, të zëvendësojë elemente - një nga një dhe njëkohësisht. Kthen një koleksion të elementeve të hequr, nëse asnjë nga elementët nuk është hequr, do të kthejë një koleksion të zbrazët.

Sintaksa e metodës:

Emri i grupit. Bashkimi (indeksi, numri, elem1, ..., elemN);

Argumenti i parë specifikon indeksin në grupin në të cilin do të fillojmë të fusim ose heqim elementësh. Argumenti i dytë specifikon numrin e elementeve që do të hiqen nga vargu duke filluar nga indeksi i specifikuar në argumentin e parë, nëse argumenti i dytë është 0, atëherë elementet nuk do të hiqen. Nëse argumenti i dytë hiqet, të gjithë elementët e vargut nga indeksi i specifikuar deri në fund të vargut hiqen. Kur përdorni një numër pozicioni negativ, elementet do të numërohen nga fundi i vargut.

Fruta Var \u003d ["portokall", "mollë", "dardha", "rrush"]; var i fshirë \u003d fruta.lidhje (2,2); // kthen dokumentin "shkruaj (fshihet)" "dardha", "rrush"]; var arr \u003d; arr.flokë (4); // Kthimet; vargu tani është: arr.splice (1,2); // Kthimet; vargu u bë: arr.lidhje (1,1); // Kthimet; vargu është bërë: Provo "

Dy argumentet e para të metodës splice () specifikojnë elementet e grupit që do të hiqen. Këto dy argumente mund të ndiqen nga çdo numër i argumenteve shtesë që specifikojnë elementet që do të futen në grup, duke filluar nga pozicioni i dhënë nga argumenti i parë.

Fruta të var \u003d \u003d "" portokall "," mollë "]; fruta.lidhje (2,0, "shalqinj"); // kthen dokumentin.shkruaj (frutat); // tani ["portokall", "mollë", "shalqi"] var arr \u003d; arr.shpikë (2,0, "a", "b"); // Kthimet; u bë arr.lidhje (2,2,); // Kthen ["a", "b"]; u bë, 3,4,5] Provo "

Vini re se ndryshe nga concat (), metoda splice () nuk i ndan vargjet e kaluara si argumente në elementë të veçantë. Kjo do të thotë, nëse një varg kalohet në një metodë për futje, ajo fut vetë koleksionin, jo elementet e asaj grupi.

Metoda ToString

Metoda toString () kthen elementet e një vargu në një varg duke përdorur një presje si karakter ndarës.

Var arr \u003d ["Qumësht", "Bukë", "Biskota"]; var ushqim \u003d arr.toString (); dokument.shkruaj (ushqim); // Qumësht, Bukë, Biskota Provojeni "

Vini re se metoda kthen të njëjtën varg si join () kur thirret pa argumente.

indeksi i dhe indeksi i fundit

Metoda indexOf kthen indeksin e një elementi vlera e të cilit është e barabartë me vlerën e kaluar në metodë si argument.

Sintaksa për metodat indexOf () dhe lastIndexOf () është:

Array_name.indexOf (lookup_item, indeks) array_name.lastIndexOf (lookup_item, indeks)

Argumenti i parë i metodës specifikon vlerën e elementit indeksi i të cilit për të gjetur, argumenti i dytë (opsional) specifikon indeksin nga do të fillojë kërkimi. Nëse ka disa dukuri identike, zgjidhet indeksi më i vogël (i parë). Nëse nuk gjendet një element me vlerën e dëshiruar, metoda do të kthehet -1. Brenda metodës, përdoret krahasimi i rreptë (\u003d\u003d\u003d) për kërkimin.

Var a \u003d; a.indexOf (3); // do të kthejë 2 a.indexOf (3,4); // do të kthehet 6 a.indexOf (35); // kthen -1: nuk ka asnjë element me këtë vlerë a.indexOf (2); // 1

Metoda lastIndexOf () kthen gjithashtu indeksin e një elementi vlera e të cilit është e barabartë me vlerën e kaluar në metodë si argument. Dallimi i vetëm është se metoda lastIndexOf () zgjedh indeksin më të lartë (të fundit).

Var a \u003d; a.lastIndexOf (3); // do të kthehet 7 a.lastIndexOf (35); // kthen -1: nuk ka asnjë element me këtë vlerë a.lastIndexOf (2); // 6

Metodat e përsëritjes

Metodat e përshkruara më poshtë janë përsëritëse. Të gjithë shfletuesit modernë për të punuar me vargje kanë metoda që janë krijuar për të përsëritur mbi elementet dhe për të kryer veprime të ndryshme mbi to. Këto janë për secilën (), hartën (), filtrin (), çdo (), disa, zvogëlojnë () dhe zvogëlojnëRight () metodat.

Ata përsëriten mbi elementet e vargut nga 0 në gjatësi - 1 dhe, nëse elementi ekziston, e kalojnë atë në funksionin e mbajtësit të thirrjes.

per secilin

Sintaksa e metodës:

ArrayName.forEach (thirrja, kjoArg)

Argumenti i parë është një funksion kthyese që metoda forEach () do të thërrasë për secilin element të vargut. Zbatimin e funksionit të thirrur mbajtës duhet ta shkruani vetë. Funksioni i thirrur duhet të ketë tre parametra: parametri i parë merr si argument vlerën e elementit të grupit, i dyti - indeksi i elementit dhe i treti - vetë vargu. Sidoqoftë, nëse dëshironi të përdorni vetëm vlerat e elementeve të grupit, mund të shkruani një funksion me vetëm një parametër. Argumenti i dytë, kyArg (opsional), do të kalojë si kjo vlerë.

Var arr \u003d; funksioni foo (vlera) (var shuma \u003d vlera * kjo; kthimi i dokumentit. shkruaj (shuma + "
");) arr.forEach (foo, 5); // argumenti i dytë do të kalojë si vlerë ky // shembulli me tre parametra var a \u003d; a.forEach (funksioni (el, idx, a) (dokumenti.write ( "a [" + idx + "] \u003d" + el + "në [" + a + "]
");)); Provo"

filtri

Sintaksa e metodës:

Arrayname.filter (thirrja, kjoObject)

Metoda filtër () krijon dhe kthen një grup të ri që do të përmbajë vetëm ato elementë të grupit për të cilët funksioni i kthimit do të kthehet i vërtetë.

Funksioni ështëBig (element, indeks, grup) (// kthen numrat që janë më të mëdhenj ose të barabartë me 10 kthimin (elementi\u003e \u003d 10); // nëse vlera e elementit është më e madhe ose e barabartë me 10, shprehja do të kthehet e vërtetë) var filtruar \u003d. Filtri (isBig) ; // filtruar

harta

Metoda hartë () krijon dhe kthen një grup të ri, i cili do të përbëhet nga rezultatet e thirrjes së funksionit të thirrjes (artikull, idx, ar) për secilin element në grup.

Var a \u003d; var b \u003d a.map (funksioni (artikulli, idx, arr) (artikulli i kthimit * artikulli;)); // b \u003d

çdo dhe disa

Çdo metodë () kthehet e vërtetë nëse funksioni i specifikuar i përdorur për testimin e tyre kthehet i vërtetë për të gjithë elementët e grupit.

Metoda disa () kthehet e vërtetë nëse, gjatë vërtetimit në funksionin e specifikuar, një ose më shumë elementë kthehen të vërtetë.

Var a \u003d; a. çdo (funksioni (x) (kthimi x 10;)) // i vërtetë: një numër\u003e 10

zvogëlo dhe zvogëloj të drejtën

Sintaksa e metodës:

Emri i Array. Zvogëloni (thirrja, Vlera fillestare) ArrayName.reduceRight (thirrja, Vlera fillestare)

Metoda e zvogëlimit () zbaton funksionin e specifikuar (kthimi i thirrjes) kundrejt dy vlerave në grup në të njëjtën kohë, duke përsëritur elementet nga e majta në të djathtë, duke ruajtur rezultatin e ndërmjetëm.

Argumentet e funksionit të thirrjes: (vlera e mëparshme, vlera aktuale, indeksi, grupi)

  • vlera e mëparshme - rezultati i kthimit të funksionit të kthimit të thirrjes (aka rezultat i ndërmjetëm)
  • aktualeItem - artikulli aktual në grup (artikujt përsëriten nga e majta në të djathtë me radhë)
  • indeksi - indeksi i elementit aktual
  • array - vargu që përpunohet

vlera fillestare Objekti i përdorur si argumenti i parë në thirrjen e parë në funksionin e thirrjes. Në terma të thjeshtë, vlera e vlerës së mëparshme është e barabartë me vlerën fillestare herën e parë që quhet. Nëse vlera fillestare mungon, atëherë ajo është e barabartë me elementin e parë të grupit, dhe përsëritja fillon nga e dyta:

Var a \u003d; funksioni foo (prevNum, curNum) (shuma \u003d prevNum + curNum; vigjilent (shuma); kthimi i shumës;) var rezultati \u003d a.zvogëlimi (foo, 0); dokument.shkruaj (rezultat); Provoni "

Le të shohim se si funksionon ky shembull. Argumentet e para për të foo janë:

  • prevNum \u003d 0 (pasi vlera fillestare është 0)
  • curNum \u003d 1 (elementi aktual është elementi i parë i grupit)

Numri 0 shtohet në 1. Ky rezultat (shuma: 1) do të kalojë si prevNum herën tjetër kur funksioni do të ekzekutohet. Dhe kështu me radhë derisa bëhet fjalë për elementin e fundit. Rezultati i kthyer - shuma nga pjesa e fundit, do të jetë 15 (1 + 2 + 3 + 4 + 5).

Metoda e zvogëlimit të djathtë punon në mënyrë të ngjashme me metodën e zvogëlimit, por kalon nëpër rrjet nga e djathta në të majtë:

Var a \u003d ["h", "o", "m", "e"]; shiriti i funksionit (prevStr, curItem) (kthimi prevStr + curItem;) dokument.write (a.reduceRight (bar)); // emoh

Vargjet

Array është një koleksion i renditur i vlerave. Vlerat në një grup quhen elemente, dhe secili element karakterizohet nga një pozicion numerik në grup, i quajtur indeks. Vargjet në JavaScript janë të tipit: elementet e një grupi mund të jenë të çdo lloji, dhe elementë të ndryshëm të të njëjtit grup mund të jenë të llojeve të ndryshme. Elementet e vargjeve madje mund të jenë objekte ose vargje të tjera, të cilat ju lejojnë të krijoni struktura komplekse të të dhënave si vargje të objekteve dhe vargje të vargjeve.

Indekset e vargjeve në JavaScript janë me bazë zero dhe përdorin numra të plotë 32-bit - elementi i parë i një grupi ka indeksin 0. Vargjet JavaScript janë dinamike: ato mund të rriten dhe tkurren sipas nevojës; nuk ka nevojë për të deklaruar madhësi fikse të vargjeve kur ato krijohen ose për të alokuar përsëri kujtesën kur ato ndryshohen.

Vargjet në JavaScript janë një formë e specializuar e objekteve, dhe indekset e grupeve nënkuptojnë pak më shumë sesa thjesht emrat e pronave, të cilat rastësisht janë numra të plotë.

Krijimi i vargjeve

Mënyra më e lehtë për të krijuar një grup është me një fjalë për fjalë, e cila është një listë e thjeshtë e elementeve të vargut të ndarë me presje në kllapa katrore. Vlerat në një varg të fjalëpërfjalshëm nuk duhet të jenë konstante - ato mund të jenë çdo shprehje, duke përfshirë fjalë për fjalë:

Var bosh \u003d; // Numrat var të vargut bosh \u003d; // Array me pesë elemente numerike var misc \u003d [1.1, true, "a",]; // 3 elementë të llojeve të ndryshëm + baza var varg presje \u003d 1024; tabela var \u003d; // Varg me ndryshore var arrObj \u003d [,]; // 2 vargje brenda që përmbajnë objekte

Sintaksa e drejtpërdrejtë e vargut ju lejon të futni një presje opsionale zvarritëse, d.m.th. [[] përputhet me një grup me dy elemente, jo me tre.

Një mënyrë tjetër për të krijuar një koleksion është thirrja e konstruktorit Array ()... Konstruktori mund të thirret në tre mënyra të ndryshme:

    Thirrni konstruktorin pa argumente:

    Var arr \u003d Array i ri ();

    Në këtë rast, do të krijohet një koleksion bosh i barazvlefshëm me fjalorin.

    Thirrni konstruktorin me një argument të vetëm numerik duke specifikuar gjatësinë e vargut:

    Var arr \u003d Array i ri (10);

    Në këtë rast, do të krijohet një grup i zbrazët i gjatësisë së specifikuar. Kjo formë e thirrjes së konstruktorit Array () mund të përdoret për të alokuar paraprakisht memorjen për një grup nëse numri i elementeve të tij dihet paraprakisht. Vini re se kjo nuk ruan ndonjë vlerë në grup.

    Në mënyrë specifike specifikoni vlerat e dy ose më shumë elementëve të parë të grupit ose të një elementi jo-numerik në një thirrje konstruktori:

    Var arr \u003d Varg i ri (5, 4, 3, 2, 1, "provë");

    Në këtë rast, argumentet për konstruktorin bëhen vlerat e elementeve të grupit të ri. Përdorimi i teksteve drejtpërdrejtë është pothuajse gjithmonë më i lehtë sesa përdorimi i konstruktorit Array () në këtë mënyrë.

Leximi dhe shkrimi i elementeve të grupit

Elementet e vargut arrihen duke përdorur operatorin. Duhet të ketë një referencë në grup në të majtë të kllapave. Një shprehje arbitrare që kthen një vlerë të plotë jo-negative duhet të jetë brenda kllapave. Kjo sintaksë është e përshtatshme për leximin dhe shkrimin e vlerës së një elementi të grupit. Prandaj, të gjitha deklaratat e mëposhtme JavaScript janë të vlefshme:

// Krijoni një grup me një element var arr \u003d ["bota"]; // Lexoni artikullin 0 var vlera \u003d arr; // Shkruani vlerën në elementin 1 arr \u003d 3.14; // Shkruaj një vlerë në elementin 2 i \u003d 2; arr [i] \u003d 3; // Shkruaj një vlerë në elementin 3 arr \u003d "përshëndetje"; // Lexoni pikat 0 dhe 2, shkruani vlerën në pikën 3 arr] \u003d arr;

Më lejoni t'ju kujtoj se vargjet janë një lloj i specializuar i objektit. Kllapat katrore të përdorura për të hyrë në elementet e vargut veprojnë saktësisht njësoj si kllapat katrore të përdorura për të hyrë në vetitë e objektit. Përkthyesi JavaScript shndërron indekset numerike të parantezuara në vargje - indeksi 1 bëhet vargu "1" - dhe më pas përdor vargjet si emra të pronave.

Nuk ka asgjë të veçantë në konvertimin e indekseve numerike në vargje: e njëjta gjë mund të bëhet me objektet e rregullta:

Var obj \u003d (); // Krijoni një objekt të thjeshtë obj \u003d "një"; // Indeksoni atë me numra të plotë

Veçori e vargjeve është se kur përdorni emra të pronave që janë integer jo-negativ, vargjet përcaktojnë automatikisht vlerën e pronës gjatësia... Për shembull, vargu arr është krijuar sipër me një element të vetëm. Pastaj, elementeve të tij iu caktuan vlera me indekset 1, 2 dhe 3. Si rezultat i këtyre operacioneve, vlera e pronës së gjatësisë së vargut ndryshoi dhe u bë e barabartë me 4.

Ju duhet të bëni qartë dallimin midis indekseve në një grup dhe emrave të pronave të objekteve. Të gjithë indekset janë emra të pronave, por vetëm vetitë me emra të plotë janë indekse. Të gjitha vargjet janë objekte, dhe ju mund t'u shtoni veti atyre me çdo emër. Sidoqoftë, nëse prekni vetitë që janë indekse të vargjeve, vargjet përgjigjen duke azhurnuar vlerën e pronës së gjatësisë sipas nevojës.

Vini re se negativët dhe jo-integruesit lejohen si indekse të grupeve. Në këtë rast, numrat shndërrohen në vargje që përdoren si emra të pronave.

Shtimi dhe Heqja e Elementeve të Vargut

Ne tashmë kemi parë që mënyra më e lehtë për të shtuar elemente në një grup është caktimi i vlerave në indekse të reja. Ju gjithashtu mund të përdorni metodën për të shtuar një ose më shumë elementë në fund të një grupi shtyj ():

Var arr \u003d; // Krijoni një varg bosh arr.push ("zero"); // Shtoni një vlerë në fund arr.push ("një", 2); // Shtoni edhe dy vlera

Ju gjithashtu mund të shtoni një element në fund të një grupi duke i caktuar një vlerë elementit arr. Për të futur një element në fillim të një grupi, mund të përdorni metodën zhvendos ()dhe elementët ekzistues në grup janë zhvendosur në indekse më të larta.

Mund të fshini elementë të një grupi duke përdorur operatorin e fshirjes, si vetitë e zakonshme të objekteve:

Var arr \u003d; fshi arr; 2 në arr; // false, indeksi 2 në grup është i papërcaktuar gjatësia e arr; // 3: operatori i fshirjes nuk ndryshon vetinë e gjatësisë së vargut

Heqja e një elementi është e ngjashme (por paksa e ndryshme) me caktimin e një vlere të papërcaktuar në atë element. Vini re se aplikimi i operatorit të fshirjes në një element në një grup nuk e ndryshon vlerën e pronës së gjatësisë, dhe as nuk lëviz poshtë elementeve me indekse më të larta për të mbushur boshllëkun e lënë pasi elementi të fshihet.

Alsoshtë gjithashtu e mundur që të hiqen elementët në fund të një grupi thjesht duke caktuar një vlerë të re në pronën e gjatësisë. Vargjet kanë një metodë pop () (përballë shtytjes ()), e cila zvogëlon gjatësinë e grupit me 1 dhe kthen vlerën e elementit të hequr. Ekziston edhe një metodë ndërrim () (e kundërt me zhvendosjen ()), e cila heq elementin në fillim të grupit. Ndryshe nga operatori i fshirjes, metoda shift () zhvendos të gjithë elementët poshtë një pozicioni poshtë indekseve të tyre aktuale.

Më në fund ekziston një metodë për shumë qëllime bashkim ()që ju lejon të futni, fshini dhe zëvendësoni elementet e vargut. Ndryshon vlerën e pronës së gjatësisë dhe zhvendos elementet e grupit me indekse më të ulëta ose më të larta sipas nevojës. Ne do t'i diskutojmë të gjitha këto metoda pak më vonë.

Vargje shumëdimensionale

JavaScript nuk mbështet vargje shumëdimensionale "reale", por bën një punë të mirë të simulimit të tyre duke përdorur vargje nga vargje. Për të hyrë në një artikull të dhënash në një varg vargjesh, mjafton të përdorësh dy herë operatorin.

Për shembull, supozoni se matrica e ndryshueshme është një grup i vargjeve të numrave. Secili element i matricës [x] është një grup numrash. Ju mund të përdorni matricën e shprehjes [x] [y] për të hyrë në një numër specifik në një grup. Më poshtë është një shembull specifik ku një koleksion dy-dimensional përdoret si një tabelë e shumëzimit:

// Krijoni një tabelë vargje shumëdimensionale \u003d Array i ri (10); // Ka 10 rreshta në tabelë për (var i \u003d 0; i

Metodat e klasës së renditjes

Standardi ECMAScript 3 përcakton shumë funksione të përshtatshme për të punuar me vargje si pjesë e Array.prototype, të cilat janë të disponueshme si metoda të çdo grupi. Këto metoda do të paraqiten në nënseksionet vijuese.

Bashkohu me metodën

Metoda Array.join () shndërron të gjithë elementët në grup në vargje, i bashkon ato dhe kthen vargun që rezulton. Një argument opsional mund t'i kalohet metodës me një varg që do të përdoret për të ndarë artikujt në vargun e rezultatit. Nëse nuk përcaktohet ndonjë varg ndarës, përdoret presja. Për shembull, copa e mëposhtme rezulton në vargun "1,2,3":

Var arr \u003d; arr.bashkohuni (); // "1,2,3" arr.bashkohuni ("-"); // "1-2-3"

Metoda e kundërt ()

Metoda Array.reverse () përmbys rendin e elementeve në një grup dhe kthen një koleksion të renditur. Ndërrimi bëhet direkt në grupin origjinal, d.m.th. kjo metodë nuk krijon një grup të ri me elementë të renditur, por i rendit ato në një grup tashmë ekzistues. Për shembull, copa e mëposhtme, e cila përdor metodat e kundërt () dhe join (), rezulton në vargun "3,2,1":

Var arr \u003d; arr.reverse (). join (); // "3,2,1"

Rendit metodën ()

Metoda Array.sort () rendit elementet në grupin origjinal dhe kthen grupin e renditur. Nëse renditja () thirret pa argumente, renditja bëhet alfabetikisht (për krahasim, artikujt përkohësisht shndërrohen në vargje nëse është e nevojshme). Elementet e papërcaktuara janë mbështjellë deri në fund të koleksionit.

Ju mund të kaloni një funksion krahasimi si një argument për të renditur () për të renditur në ndonjë rend tjetër jo-alfabetik. Ky funksion përcakton se cili nga dy argumentet e tij duhet të vijë i pari në listën e renditur. Nëse argumenti i parë duhet t'i paraprijë argumentit të dytë, funksioni i krahasimit duhet të kthej një numër negativ. Nëse argumenti i parë do të ndjekë të dytin në renditjen e renditur, atëherë funksioni duhet të kthej një numër më të madh se zero. Dhe nëse të dy vlerat janë ekuivalente (d.m.th., renditja nuk është e rëndësishme), funksioni i krahasimit duhet të kthejë 0:

Var arr \u003d; arr.sortoj (); // Renditja alfabetike: 1111, 222, 33, 4 arr.sort (funksioni (a, b) (// Rendi numerik: 4, 33, 222, 1111 kthimi ab; // Kthen vlerën 0 // në varësi të renditjes së renditjes) a dhe b)); // Rendit prapa, nga arr.i lartë në më të ultin. Renditja (funksioni (a, b) (kthimi b-a));

Vini re se sa i përshtatshëm është të përdorni një funksion pa emër në këtë fragment. Funksioni i krahasimit përdoret vetëm këtu, prandaj nuk ka nevojë t’i jepni një emër.

Metoda konkat ()

Metoda Array.concat () krijon dhe kthen një koleksion të ri që përmban elementet e vargut origjinal në të cilin u thirr metoda konkat () dhe vlerat e çdo argumenti të kaluar në metodën konkat (). Nëse ndonjë prej këtyre argumenteve është vetë një grup, elementet e tij shtohen në grupin e kthyer. Duhet të theksohet, megjithatë, se nuk ka asnjë shndërrim rekursiv të një vargu nga vargjet në një grup një-përmasor. Metoda concat () nuk modifikon grupin origjinal. Më poshtë janë disa shembuj:

Var arr \u003d; arr.concat (4, 5); // Kthen arr.concat (); // Kthehet arr.concat (,) // Kthehet arr.concat (4,]) // Kthehet]

Metoda fetë ()

Metoda Array.slice () kthen një fetë, ose nën-varg, të grupit të specifikuar. Dy argumentet e metodës përcaktojnë fillimin dhe mbarimin e pjesës së kthyer. Vargu i kthyer përmban artikullin e numëruar në argumentin e parë, plus të gjithë artikujt pasues deri në (por duke mos përfshirë) artikullin e numëruar në argumentin e dytë.

Nëse specifikohet vetëm një argument, grupi i kthyer përmban të gjitha elementet nga pozicioni fillestar deri në fund të grupit. Nëse ndonjë nga argumentet është negativ, ai specifikon numrin e elementit në lidhje me fundin e vargut. Kështu, argumenti -1 korrespondon me elementin e fundit të grupit, dhe argumenti -3 korrespondon me elementin e tretë të grupit nga fundi. Ketu jane disa shembuj:

Var arr \u003d; arr. fetë (0.3); // Kthen arr.slice (3); // Kthen arr.slice (1, -1); // Kthen arr.slice (-3, -2); // Do te kthehen

Metoda e bashkimit ()

Metoda Array.splice () është një metodë e përgjithshme që fut ose heq elemente nga një grup. Ndryshe nga metodat slice () dhe concat (), metoda splice () modifikon grupin origjinal në të cilin u thirr. Vini re se metodat e bashkimit () dhe fetë () kanë emra shumë të ngjashëm, por ato kryejnë operacione krejtësisht të ndryshme.

Metoda e bashkimit () mund të heqë elemente nga një grup, të futë elementë të rinj ose t'i bëjë të dyja në të njëjtën kohë. Elementet e vargut zhvendosen sipas nevojës në mënyrë që pas futjes ose fshirjes, të formohet një sekuencë e afërt.

Argumenti i parë në metodën e bashkimit () specifikon pozicionin në grupin nga i cili duhet futur dhe / ose fshirë. Argumenti i dytë specifikon numrin e elementeve që duhen hequr (prerë) nga grupi. Nëse argumenti i dytë hiqet, të gjithë elementët e vargut nga vargu i specifikuar deri në fund të grupit hiqen. Metoda e bashkimit () kthen një koleksion të elementeve të hequr, ose (nëse asnjë nga elementët nuk është hequr) një grup bosh.

Dy argumentet e para për metodën e bashkimit () specifikojnë elementet e grupit që do të hiqen. Këto argumente mund të ndiqen nga çdo numër i argumenteve shtesë që specifikojnë elementet që do të futen në grup, duke filluar nga pozicioni i specifikuar në argumentin e parë.

Var arr \u003d; arr.flokë (4); // Kthen arr \u003d arr.splice (1,2); // Kthen arr \u003d arr.splice (1,1); // Do te kthehen; arr \u003d arr \u003d; arr.shpikë (2,0, "a", "b"); // Do te kthehen; arr \u003d

Metodat push () dhe pop ()

Metodat push () dhe pop () ju lejojnë të punoni me vargje si pirgje. Metoda push () shton një ose më shumë elementë të rinj në fund të grupit dhe kthen gjatësinë e saj të re. Metoda pop () kryen operacionin e kundërt - ajo heq elementin e fundit të grupit, zvogëlon gjatësinë e grupit dhe kthen vlerën që hoqi. Vini re se të dyja këto metoda modifikojnë koleksionin origjinal në vend se të krijojnë një kopje të modifikuar të saj.

Metodat e zhvendosjes () dhe zhvendosjes ()

Metodat unshift () dhe shift () sillen në të njëjtën mënyrë si push () dhe pop (), përveç që futin dhe heqin elemente në fillim të grupit sesa në fund. Metoda unshift () zhvendos elementet ekzistuese drejt indekseve më të mëdha për të lënë vend, shton elementin ose elementet në fillim të grupit dhe kthen gjatësinë e re të grupit. Metoda shift () heq dhe kthen elementin e parë të vargut, duke zhvendosur të gjithë elementët pasues poshtë një pozicioni për të zënë hapësirën e zbrazur në fillim të vargut.

shtyj () metoda shton një ose më shumë elemente në fund të një grupi dhe kthen gjatësinë e re të vargut.

Burimi për këtë shembull ndërveprues është ruajtur në një depo GitHub. Nëse dëshironi të kontribuoni në projektin e shembujve interaktivë, ju lutemi klononi https://github.com/mdn/interactive-examples dhe na dërgoni një kërkesë tërheqëse.

Sintaksë

arr. shtytje (elementi1 [, ... [, elementiN]])

Parametrat

element N Elementi (et) për tu shtuar në fund të koleksionit.

Vlera e kthimit

Shembuj

Shtimi i elementeve në një grup

Kodi i mëposhtëm krijon një grup sportiv që përmban dy elemente, pastaj i bashkangjitet dy elemente. Ndryshorja totale përmban gjatësinë e re të vargut.

Le sporte \u003d ["futboll", "bejsboll"] le total \u003d sport.push ("futboll", "not") console.log (sport) // ["futboll", "bejsboll", "futboll", "not "] console.log (gjithsej) // 4

Bashkimi i dy vargjeve

Ky shembull përdor apply () për të shtyrë të gjithë elementët nga një grup i dytë.

Bëj jo përdorni këtë metodë nëse grupi i dytë (më shumë Vegë në shembull) është shumë i madh, sepse numri maksimal i parametrave që një funksion mund të marrë është i kufizuar në praktikë. Shihni aplikoni () për më shumë detaje.

Lëreni perimet \u003d ["parsnip", "patate"] let moreVegs \u003d ["selino", "panxhar"] // Shkrijeni grupin e dytë në të parën // Ekuivalent me perimet. Shtytje ("selino", "panxhar") Array.prototype.push.apply (perime, moreVegs) console.log (perime) // ["parsnip", "patate", "selino", "panxhar"]

Përdorimi i një objekti në një mënyrë të ngjashme me grupin

Siç u përmend më lart, shtytja është qëllimisht e përgjithshme, dhe ne mund ta përdorim atë në avantazhin tonë. Array.prototype.push mund të funksionojë mirë në një objekt, siç tregon ky shembull.

Vini re se ne nuk krijojmë një koleksion për të ruajtur një koleksion objektesh. Në vend të kësaj, ne e ruajmë koleksionin në vetë objektin dhe përdorim thirrjen në Array.prototype.push për të mashtruar metodën duke menduar se kemi të bëjmë me një grup - dhe ajo thjesht funksionon, falë mënyrës se si JavaScript na lejon të vendosim kontekstin e ekzekutimit, sidoqoftë ne të duam.

Le të jetë obj \u003d (gjatësia: 0, addElem: funksioni addElem (elem) (// gjatësia e objektit rritet automatikisht // sa herë shtohet një element. Shtypni thirrjen (kjo, elem))) // Le të shtojmë disa objekte bosh vetëm për të ilustruar.obj.addElem (()) obj.addElem (()) console.log (obj.length) // j 2

Vini re se edhe pse obj nuk është një grup, metoda push shton me sukses pronën e gjatësisë së objektit ashtu si nëse kishim të bënim me një grup aktual.

Specifikimet

Specifikim Statusi Komento
Botimi i tretë ECMAScript (ECMA-262) Standarde Përkufizimi fillestar. Zbatuar në JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Standarde
ECMAScript 2015 (Edicioni i 6-të, ECMA-262)
Përkufizimi i "Array.prototype.push" në atë specifikim.
Standarde
Drafti i fundit ECMAScript (ECMA-262)
Përkufizimi i "Array.prototype.push" në atë specifikim.
Drafti

Përputhshmëria e shfletuesit

Tabela e pajtueshmërisë në këtë faqe gjenerohet nga të dhëna të strukturuara. Nëse dëshironi të kontribuoni në të dhënat, shikoni https://github.com/mdn/browser-compat-data dhe na dërgoni një kërkesë tërheqjeje.

Përditësoni të dhënat e pajtueshmërisë në GitHub

DesktopMobileServeri
KromEdgeFirefoxInternet ExplorerOperaSafariShikim në internet i AndroidChrome për AndroidFirefox për AndroidOpera për AndroidSafari në iOSInternet SamsungNyja.js
shtyjChrome mbështetje e plotë 1Edge Mbështetje e plotë 12Firefox Mbështetje e plotë 1IE Mbështetje e plotë 5.5Opera Mbështetje e plotë PoSafari Mbështetje e plotë 1WebView Android Mbështetje e plotë PoChrome Android Mbështetje e plotë 18Firefox Android Mbështetje e plotë 4Opera Android Mbështetje e plotë PoSafari iOS Mbështetje e plotë 1Samsung Internet Android Mbështetje e plotë Ponodejs Mbështetje e plotë Po

Stack-i ju lejon t’i referoheni të dhënave historikun e ndryshimit të vlerave të variablave. Përshkrimi i të dhënave dhe algoritmeve është në zemër të programimit. Staku është baza për transferimin e kontrollit midis funksioneve, organizimin e rekursionit dhe referencat e parametrave. Sintaksa dhe semantika JavaScript, përmes metodave të vargut push () dhe pop (), bëjnë të mundur manipulimin e kuptimit dhe marrjen parasysh të faktorit kohë. Veçantia e gjuhës së shfletuesit dhe logjika e saj na lejojnë të shohim ndryshe në mundësitë e faktorit kohë.

Vargu i të dhënave dhe logjika e formimit të saj

Thjesht përshkruani ndryshoren. Nuk është e vështirë të krijosh një varg variablash. Një algoritëm që përdor të dhëna është një zgjidhje statike dhe e thjeshtë për një problem. Manipulimi klasik i të dhënave:

  • përshkruaj (krijoj) një ndryshore;
  • caktojë një vlerë;
  • ndryshoni vlerën;
  • hiqe ndryshoren.

Funksionet push () dhe pop () ju lejojnë të ndryshoni natyrën e ndryshoreve dhe përdorimin e tyre. Ideja për një pirg nuk ka ndryshuar që nga "lindja" e saj, por veçoria e JS si gjuhë e shfletuesit dhe një koncept modern i programimit ju lejon të merrni parasysh faktorin kohë dhe t'i jepni dinamikë të dhënave.

Funksioni i vlerës ") është të shtoni diçka në fund të grupit. Funksioni është të rimarr elementin e fundit të koleksionit. Treguesi në kontekstin push / pop, kur shtohet, lëviz te elementi i shtuar, kur merret, te elementi i parafundit dhe elementi i fundit është rezultati i operacionit.

Një pirg pllakash - përshkrimi tradicional i një pirgi në JavaScript - merr një kuptim të ri. Le të jetë variabla gjithmonë një grup. Një grup në vetvete është një koleksion i ndryshoreve, por duke marrë parasysh një ndryshore si një grup, ju mund të shikoni ndryshe dinamikën e ndryshimit të vlerave të saj.

Lëvizja sipas vlerave

Thelbi i pirgut - doli i fundit, u largua i pari. Ju nuk mund të nxirrni një vlerë nga kjo porosi. Duke respektuar në mënyrë rigoroze këtë rregull, duke marrë parasysh vlerat e të gjithë koleksionit si një ndryshore, mund të merrni dinamikën e ndryshimeve në vlerat e kësaj ndryshore me kalimin e kohës.

Në këtë shembull, shtimi i vlerave të array JS.push (...) është një sekuencë veprimesh, marrja e vlerave të array JS pop () është një sekuencë tjetër. Të dy kurset e veprimit janë të ndërlidhura. Kjo do të thotë që elementi aktiv ndryshon vlerën e tij jo vetëm në kohë, por edhe në logjikën e ndryshimit të tij.

Dinamika e rekursionit dhe vlerës

Nëse një funksion mund ta quajë vetveten dhe të përmbushë në mënyrë të sigurt qëllimin e tij, kjo është funksionalitet i plotë. Një shembull i thjeshtë është një tabelë. Mund të ketë tabela të tjera në tabelë. Dhe secila tryezë është rreshta, kolona dhe qeliza. Çdo qelizë mund të përmbajë një tabelë. Disa qeliza nga rreshti ose nga kolona mund të kombinohen në një qelizë, e cila mund të përmbajë një tabelë. Në një tryezë në një qeli, mund të ketë një qelizë me dy ose më shumë tabela.

Almostshtë pothuajse e pamundur të zbatohet ajo që u tha në stilin klasik të programimit, por në stilin rekursiv është elementare. Nëse funksionaliteti i algoritmit për të punuar me tabelën lejon që vetë të implementohet brenda çdo qelize, atëherë kjo është shtytja e vargut JS. Ky hile ka një kuptim të veçantë në JavaScript. Tabelat janë përdorim personal. Pema e faqes (DOM) është puna në faqe.

Manaxherët varen nga elementët DOM (etiketat e faqeve). Një opsion, kur një mbajtës i tillë aktivizohet një herë, është një opsion krejtësisht i ndryshëm, kur mund ta quajë veten shumë herë. Në kontekstin e të gjithë mbajtësve të të gjithë elementëve të faqes, merret dinamika e faqes në kohë.

Push / pop dhe rekursioni janë një pamje paksa e ndryshme e logjikës së faqes: gjithçka ndryshon siç kërkohet në situatën aktuale dhe nuk është programuar paraprakisht në formën e përpunimit vijues të veprimeve të vizitorit.

Në JavaScript. Këtu do të vazhdojmë njohjen tonë me Arrays. Le të flasim për vetinë e gjatësisë - si ta zbulojmë: sa elementë përmban një Kordon?

Le të mësojmë shtoni artikuj në fillim dhe në fund të Vargut janë përkatësisht metodat e zhvendosjes dhe shtytjes.

Dhe gjithashtu duke përdorur metodat e zhvendosjes dhe pop-it hiqni sendet gjithashtu nga fillimi dhe fundi i Vargut!

Në thelb, një Array është një objekt i përbërë nga një numër i caktuar i elementeve të ndryshëm.

Prona e gjatësisë ju lejon të gjeni numrin e elementeve në Array.

Për shembull, le të marrim grupin e shtatë ditëve të javës të njohur për ne nga tema e mëparshme.

Le të zbulojmë dhe shfaqim numrin e elementeve në grup. Për ta bërë këtë, siç mund ta shihni në shembullin më poshtë, krijoni një ndryshore vlera e së cilës do të jetë grupi me interes për ne, për të cilin, nga ana tjetër, specifikohet vetia e gjatësisë.

array.length - ky kod na jep numrin e elementeve të Array (Ku grup - Emri i grupit) .

Kështu, ne vendosim një numër në ndryshoren e numërimit të barabartë me numrin e elementeve në Array.

Kështu funksionon prona e gjatësisë.

Metoda Push - shton një artikull në fund të Array.

Në mënyrë që të filloni të punoni me metodat për shtimin e elementeve, duhet të krijoni një Array.

Më poshtë kam krijuar një Array "Friends" - miq.

Tani duhet të shtojmë një element, domethënë një tjetër emër në fund të vargut.

Ekziston një metodë shtytëse për këtë - ajo shton një element në fund të Array. Duket kështu:

Nastya, Grigory, Vyacheslav, Alexey, Yakov

Jakobi

Për të provuar punën e metodës së shtytjes në shembullin e mësipërm, kemi nxjerrë numrin e elementeve të miqve Array duke përdorur vetinë gjatësi - ka 5 prej tyre. Pastaj kemi shfaqur të gjithë miqtë Array, si dhe elementi i fundit i Array .

Tani mund ta shihni vetë që elementi shtohet në fund të Array!

Metoda e zhvendosjes - shtoni artikullin deri në fillim të Vargut.

Këtu u referohemi përsëri miqve Array.

Tani ne kemi nevojë për të shtuar një element në fillim të Array. Ekziston një metodë e zhvendosur për këtë.

Numri i elementeve në Array është 5

Boris, Nastya, Grigory, Vyacheslav, Alexey

Boris

Për të provuar funksionimin e metodës së zhvendosjes, kemi nxjerrë numrin e elementeve të miqve Array duke përdorur vetinë gjatësi, atëherë kemi shfaqur të gjithë miqtë Array, si dhe elementi i parë i Array (kujtojmë që numërimi i elementeve të Vargut fillon nga 0) .

Tani, siç mund ta shihni, elementi shtohet në fillim të Array!

Metoda pop - heq elementi i fundit nga Array.

Dhe përsëri ne punojmë me Array "Friends"

Përdorimi i metodës pop - hiqni elementin e fundit nga Array:

Nastya, Grigory, Vyacheslav

Vyacheslav

Për qartësi të metodës pop, ne përsëri nxorëm numrin e elementeve të Array-it duke përdorur vetinë e gjatësisë, pastaj zbritëm të gjithë Array Friends - pa hequr elementin e fundit.

Dhe gjithashtu solli elementi i fundit Array rezultuar ... Për të shfaqur elementin e fundit, duke përdorur vetinë e gjatësisë, morëm numrin e përgjithshëm të elementeve të mbetura në Array (3) dhe zbritëm 1. Kështu, ne shfaqëm elementin e fundit të kolegjit në numrin 2. Por ky është elementi i tretë, pasi që numërimi në Array fillon me 0 !!!

Metoda e ndërrimit - heq elementi i parë nga Array.

Para nesh, si më parë, Array "Friends"

Me metodën e ndërrimit - hiqni elementin e parë nga Array:

Numri i elementeve në Array është 3

Gregory, Vyacheslav, Alexey

Gregori

Dhe, së fundmi, për të provuar funksionimin e metodës së zhvendosjes, kemi nxjerrë numrin e elementeve të Kordonit të sapo fituar duke përdorur vetinë gjatësi, pastaj kemi nxjerrë të gjithë Kolegjin Friends - pa elementin e parë të hequr.

Dhe gjithashtu solli elementi i parë i Array... Numërimi në Array fillon nga 0 !!!

Do të të kujtoj dhe për veten time një moment interesant të këtij artikulli!

Në mënyrë që të zbuloni numrin / indeksin e elementit të fundit të Array, ju duhet nga numri i elementeve të tij (d.m.th. nga) Zbrit një !!!

Ne tashmë kemi punuar me këtë në paragrafin e temës.

Një shembull i mirë i kësaj pike do të ishte një vazhdim i shembullit nga paragrafi i temës, ku ne pamë Vargun e shtatë ditëve të javës.

Numri i elementeve në ditët e Vargut është 7

Numri i elementit të fundit të Vargut është 6

Pra, me këtë shembull, ne në të njëjtën kohë edhe një herë vumë re faktin se numërimi i vargut fillon nga 0... Dhe, siç mund ta shihni nga ky shembull, elementi i 7-të i koleksionit është 6.

Në fund të kësaj teme, ne gjithashtu do të bëjmë detyrat e shtëpisë. Përsëri, përpiquni ta zgjidhni vetë.

Detyrat e shtëpisë për heqjen nga ... dhe shtimin e elementeve në një grup në Javascript kanë përmbajtjen e mëposhtme:

1. Krijoni një grup me fruta: portokall, banane, dardhë.
2. Shtypni në ekran sa fruta keni aktualisht në grup.
3. Duke përdorur metodat e mësuara në mësimin e mëparshëm, shtoni dy fruta në fund të grupit - një mollë dhe një ananas dhe në fillim të grupit - një grejpfrut.
4. Shfaqni sa fruta keni aktualisht në grup.
5. Duke përdorur metodat që keni mësuar në mësimin e mëparshëm, hiqni elementin e fundit dhe të parë nga vargu.
6. Shfaqni sa fruta keni aktualisht në grup.

Portokalli, Banane, Dardhë

Tani ka 3 fruta në shportën time

Grejpfrut, Portokall, Banane, Dardhë, Mollë, Ananas

Tani ka 6 fruta në shportën time

Portokalli, Banane, Dardhë, Mollë

Tani ka 4 fruta në shportën time