Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Televizoare (Smart TV)
  • Script pentru adăugarea de obiecte la o matrice javascript. Scrierea, citirea și adăugarea detaliilor matricei

Script pentru adăugarea de obiecte la o matrice javascript. Scrierea, citirea și adăugarea detaliilor matricei

  • Traducere

Majoritatea aplicațiilor care sunt dezvoltate astăzi trebuie să interacționeze cu un fel de set de date. Manipularea articolelor din colecții este o operațiune comună pe care este posibil să ați întâlnit-o. Când lucrați, de exemplu, cu matrice, puteți, fără ezitare, să utilizați bucla obișnuită for, care arată cam așa: for (var i = 0; i< value.length; i++){} . Однако, лучше, всё-таки, смотреть на вещи шире.

Să presupunem că trebuie să afișăm o listă de produse și, dacă este necesar, să o împărțim în categorii, să o filtram, să o căutăm, să modificăm această listă sau elementele acesteia. Poate fi necesar să efectuați rapid unele calcule care implică elementele listei. Să presupunem că trebuie să adaugi ceva la ceva, să înmulți ceva cu ceva. Puteți găsi instrumente în JavaScript care fac mai rapidă și mai convenabilă rezolvarea unor astfel de probleme decât folosind o buclă for obișnuită?

De fapt, JavaScript oferă astfel de facilități. Unele dintre ele sunt discutate în materialul a cărui traducere vă prezentăm astăzi atenției. În special, vorbim de operatorul de extensie, de bucla for ... și de metodele include (), some (), every (), filter (), map () și reduce (). Aici vom vorbi în principal despre matrice, dar tehnicile discutate aici sunt de obicei potrivite pentru lucrul cu alte tipuri de obiecte.

Trebuie remarcat faptul că prezentările de ansamblu asupra abordărilor moderne ale dezvoltării în JS includ de obicei exemple pregătite folosind funcții săgeți. Poate că nu le folosești foarte des - poate pentru că nu-ți plac, poate pentru că nu vrei să petreci prea mult timp învățând ceva nou, sau poate pur și simplu nu funcționează pentru tine. Prin urmare, aici, în majoritatea situațiilor, vor fi afișate două opțiuni pentru efectuarea acelorași acțiuni: utilizarea funcțiilor obișnuite (ES5) și utilizarea funcțiilor săgeată (ES6). Pentru cei începători cu funcțiile săgeată, rețineți că funcțiile săgeată nu sunt echivalente cu declarațiile și expresiile funcției. Nu merită să înlocuiți unul cu celălalt. În special, acest lucru se datorează faptului că acest cuvânt cheie se comportă diferit în funcțiile obișnuite și cu săgeți.

1. Operator de extindere

Operatorul de răspândire vă permite să „extindeți” matrice prin înlocuirea elementelor lor în loc de matrice în locul în care este utilizat acest operator. O abordare similară a fost propusă pentru literalele obiect.

▍ Punctele forte ale operatorului Spread

  • Aceasta este o modalitate simplă și rapidă de a-și „trage” elementele individuale dintr-o matrice.
  • Acest operator este potrivit pentru lucrul cu matrice și literale obiect.
  • Este o metodă rapidă și intuitivă de lucru cu argumente de funcție.
  • Operatorul de răspândire nu ocupă mult spațiu în cod - arată ca trei puncte (...).

▍ Exemplu

Să presupunem că ai sarcina de a enumera tratările tale preferate fără a folosi o buclă. Cu operatorul de răspândire, acest lucru se face astfel:

2. For... de buclă

Instrucțiunea for... of este destinată traversării obiectelor iterabile. Oferă acces la elementele individuale ale unor astfel de obiecte (în special, la elementele matricelor), ceea ce, de exemplu, le permite să fie modificate. Poate fi considerat un înlocuitor pentru bucla for obișnuită.

▍Puntele forte ale buclei for... of

  • Aceasta este o modalitate simplă de a adăuga sau actualiza articole de colecție.
  • Bucla for... of vă permite să efectuați diverse calcule folosind elemente (adunare, înmulțire și așa mai departe).
  • Este convenabil să îl utilizați atunci când trebuie să verificați orice condiții.
  • Folosirea acestuia duce la un cod mai curat și mai lizibil.

▍ Exemplu

Să presupunem că aveți o structură de date care descrie conținutul unei casete de instrumente și doriți să afișați acele instrumente. Iată cum să o faci cu o buclă for... of:

3. Metoda include ().

Metoda includes () este utilizată pentru a verifica prezența unui anumit element în colecție, în special, de exemplu, un anumit șir într-o matrice care conține șiruri. Această metodă returnează adevărat sau fals, în funcție de rezultatele verificării. Când îl utilizați, trebuie avut în vedere faptul că este sensibil la majuscule și minuscule. Dacă, de exemplu, colecția are un element șir SCHOOL, iar verificarea prezenței acestuia folosind includes () este efectuată pe șirul școlar, metoda va returna false.

▍ Punctele forte ale metodei include ().

  • Metoda includes () este utilă pentru a crea mecanisme simple de regăsire a datelor.
  • Oferă dezvoltatorului o modalitate intuitivă de a determina dacă unele date sunt într-o matrice.
  • Este convenabil să îl utilizați în expresii condiționate pentru modificarea, filtrarea elementelor și pentru efectuarea altor operații.
  • Utilizarea acestuia duce la o lizibilitate îmbunătățită a codului.

▍ Exemplu

Să presupunem că aveți un garaj reprezentat de o matrice cu o listă de mașini și nu știți dacă există sau nu o anumită mașină în acest garaj. Pentru a rezolva această problemă, trebuie să scrieți un cod care vă permite să verificați prezența unei mașini în garaj. Să folosim metoda includes ():

4. Metoda unor ().

Metoda some () vă permite să verificați dacă unele dintre elementele pe care le căutați există în matrice. Acesta, pe baza rezultatelor verificării, returnează adevărat sau fals. Este similar cu metoda includes () de mai sus, cu excepția faptului că argumentul său este o funcție și nu, de exemplu, un șir obișnuit.

▍Unele () puncte forte ale metodei

  • Metoda some () ne permite să verificăm dacă tabloul conține cel puțin unul dintre elementele de interes.
  • Verifică starea utilizând funcția transmisă acestuia.
  • Această metodă este convenabilă de utilizat.

▍ Exemplu

Să presupunem că ești proprietarul unui club și, în general, nu te interesează cine vine exact la clubul tău. Cu toate acestea, unii vizitatori nu au voie să intre în club, deoarece sunt predispuși la consumul excesiv de băuturi alcoolice, cel puțin dacă se află singuri în unitatea dvs. și nu există nimeni cu ei care să aibă grijă de ei. În acest caz, un grup de vizitatori poate intra în club doar dacă cel puțin unul dintre ei are cel puțin 18 ani. Pentru a automatiza acest tip de verificare, vom folosi metoda some (). Mai jos, aplicarea sa este demonstrată în două versiuni.

ES5

ES6

5. Metoda fiecărei ().

Fiecare metodă () parcurge matrice și verifică fiecare dintre elementele sale cu o anumită condiție, returnând true dacă toate elementele matricei îndeplinesc condiția și false în caz contrar. Veți observa că este similară cu metoda some ().

▍ Punctele forte ale fiecărei () Metode

  • Metoda every () vă permite să verificați dacă toate elementele dintr-o matrice se potrivesc cu o condiție.
  • Condițiile pot fi setate folosind funcții.
  • Promovează o abordare de programare declarativă.

▍ Exemplu

Să revenim la exemplul anterior. Acolo ai permis vizitatorilor sub 18 ani să intre în club, dar cineva a scris o declarație la poliție, după care ai ajuns într-o situație neplăcută. După ce totul a fost rezolvat, ai decis că nu ai nevoie de toate acestea și ai înăsprit regulile de vizitare a clubului. Acum un grup de vizitatori poate intra în club doar dacă vârsta fiecărui membru al grupului este de cel puțin 18 ani. Ca și data trecută, vom lua în considerare soluția problemei în două versiuni, dar de data aceasta vom folosi metoda fiecărui ().

ES5

ES6

6. Metoda filtrului ().

Metoda filter () vă permite să creați, pe baza unei anumite matrice, o nouă matrice care să conțină doar acele elemente ale matricei originale care îndeplinesc condiția specificată.

▍ Punctele forte ale filtrului () Metoda

  • Metoda filter () evită modificarea matricei originale.
  • Vă permite să scăpați de elementele inutile.
  • Îmbunătățește lizibilitatea codului dvs.

▍ Exemplu

Să presupunem că trebuie să le selectați din lista de prețuri doar pe cele care sunt mai mari sau egale cu 30. Să folosim metoda filtrului () pentru a rezolva această problemă.

ES5

ES6

7. Metoda hărții ().

Metoda map () este similară cu metoda filter () prin faptul că returnează și o nouă matrice. Cu toate acestea, este folosit pentru a modifica elementele matricei originale.

▍Punctele forte ale metodei hărții ().

  • Metoda map () evită necesitatea modificării elementelor matricei originale.
  • Este convenabil să modificați elementele matricei cu ajutorul acestuia.
  • Îmbunătățește lizibilitatea codului dvs.

▍ Exemplu

Să presupunem că aveți o listă de produse cu prețuri. Managerul tău are nevoie de o nouă listă de produse cu prețuri reduse cu 25%. Să folosim metoda map () pentru a rezolva această problemă.

ES5

ES6

8. reduce () metoda

Metoda reduce () , în forma sa cea mai simplă, vă permite să însumați elementele tablourilor numerice. Cu alte cuvinte, convertește matricea într-o singură valoare. Acest lucru îi permite să fie utilizat pentru a efectua diferite calcule.

▍Punctele forte ale metodei reduce ().

  • Metoda reduce () poate fi utilizată pentru a calcula suma sau media elementelor dintr-o matrice.
  • Această metodă accelerează și simplifică calculele.

▍ Exemplu

Să presupunem că trebuie să vă calculați cheltuielile pentru săptămână, care sunt stocate într-o matrice. Să rezolvăm această problemă folosind metoda reduce ().

ES5

ES6

Adaugă etichete

Matrice

Matrice este o colecție ordonată de valori. Valorile dintr-o matrice se numesc elemente, iar fiecare element este caracterizat de o poziție numerică în matrice, care se numește index. Matricele în JavaScript sunt netipizate: elementele unei matrice pot fi de orice tip, iar elementele diferite ale aceleiași matrice pot fi de tipuri diferite. Elementele de matrice pot fi chiar obiecte sau alte matrice, permițându-vă să creați structuri complexe de date, cum ar fi matrice de obiecte și matrice de matrice.

Indicii de matrice în JavaScript sunt bazați pe zero și folosesc numere întregi pe 32 de biți — primul element al unei matrice are indicele 0. Matricele JavaScript sunt dinamice: pot crește și micșora după cum este necesar; nu este nevoie să declarați dimensiuni fixe ale matricelor atunci când sunt create sau să realocați memorie atunci când sunt redimensionate.

Matricele în JavaScript sunt o formă specializată de obiecte, iar indicii de matrice înseamnă puțin mai mult decât nume de proprietăți, care întâmplător sunt numere întregi.

Crearea de matrice

Cel mai simplu mod de a crea o matrice este cu un literal, care este o simplă listă de elemente de matrice, separate prin virgulă, între paranteze drepte. Valorile dintr-un literal de matrice nu trebuie să fie constante - pot fi orice expresii, inclusiv literale obiect:

Var gol =; // Matrice goală var numere =; // Matrice cu cinci elemente numerice var misc = [1.1, true, "a",]; // 3 elemente de diferite tipuri + virgulă finală var bază = 1024; var table =; // Matrice cu variabile var arrObj = [,]; // 2 tablouri în interior care conțin obiecte

Sintaxa literală a matricei vă permite să inserați o virgulă finală opțională, de ex. literal [,] se potrivește cu o matrice cu două elemente, nu trei.

O altă modalitate de a crea o matrice este apelarea constructorului Matrice ()... Constructorul poate fi apelat în trei moduri diferite:

    Apelați constructorul fără argumente:

    Var arr = nou Array ();

    În acest caz, va fi creată o matrice goală echivalentă cu literalul.

    Apelați constructorul cu un singur argument numeric care specifică lungimea matricei:

    Var arr = nou Array (10);

    În acest caz, va fi creată o matrice goală de lungimea specificată. Această formă de apelare a constructorului Array () poate fi folosită pentru a pre-aloca memorie pentru o matrice dacă numărul elementelor sale este cunoscut dinainte. Rețineți că aceasta nu stochează nicio valoare în matrice.

    Specificați în mod explicit valorile primelor două sau mai multe elemente de matrice sau a unui element nenumeric într-un apel de constructor:

    Var arr = nou Array (5, 4, 3, 2, 1, „test”);

    În acest caz, argumentele către constructor devin valorile elementelor noii matrice. Utilizarea literalelor matrice este aproape întotdeauna mai ușoară decât utilizarea constructorului Array () în acest mod.

Citirea și scrierea elementelor matricei

Elementele matricei sunt accesate cu ajutorul operatorului. Trebuie să existe o referință de matrice în partea stângă a parantezelor. O expresie arbitrară care returnează o valoare întreagă nenegativă trebuie să fie între paranteze. Această sintaxă este potrivită atât pentru citirea, cât și pentru scrierea valorii unui element de matrice. Prin urmare, toate următoarele declarații JavaScript sunt valide:

// Creați o matrice cu un element var arr = ["world"]; // Citiți elementul 0 var value = arr; // Scrieți valoarea elementului 1 arr = 3,14; // Scrieți o valoare pentru elementul 2 i = 2; arr [i] = 3; // Scrieți o valoare pentru elementul 3 arr = "bună ziua"; // Citiți elementele 0 și 2, scrieți valoarea la elementul 3 arr] = arr;

Permiteți-mi să vă reamintesc că tablourile sunt un tip specializat de obiect. Parantezele pătrate folosite pentru a accesa elementele matricei acționează exact la fel ca parantezele pătrate folosite pentru a accesa proprietățile unui obiect. Interpretul JavaScript convertește indicii numerici din paranteze în șiruri de caractere - indicele 1 devine șirul „1” - și apoi folosește șirurile ca nume de proprietate.

Nu este nimic special în conversia indicilor numerici în șiruri de caractere: același lucru se poate face cu obiectele obișnuite:

Var obj = (); // Creați un obiect simplu obj = "unul"; // Indexați-l cu numere întregi

Particularitatea tablourilor este că atunci când se utilizează nume de proprietate care sunt numere întregi nenegative, tablourile determină automat valoarea proprietății. lungime... De exemplu, matricea arr de mai sus a fost creată cu un singur element. Apoi, valorile au fost atribuite elementelor sale cu indici 1, 2 și 3. Ca urmare a acestor operații, valoarea proprietății de lungime a matricei s-a schimbat și a devenit egală cu 4.

Ar trebui să distingeți clar între indecșii dintr-o matrice și numele proprietăților obiectelor. Toți indecșii sunt nume de proprietăți, dar numai proprietățile cu nume întregi sunt indecși. Toate tablourile sunt obiecte și le puteți adăuga proprietăți cu orice nume. Cu toate acestea, dacă afectați proprietăți care sunt indici de matrice, matricele reacționează prin actualizarea valorii proprietății lungime după cum este necesar.

Rețineți că numerele negative și non-întregi sunt permise ca indici de matrice. În acest caz, numerele sunt convertite în șiruri de caractere, care sunt folosite ca nume de proprietate.

Adăugarea și eliminarea elementelor de matrice

Am văzut deja că cel mai simplu mod de a adăuga elemente într-o matrice este de a atribui valori noilor indici. De asemenea, puteți utiliza metoda pentru a adăuga unul sau mai multe elemente la sfârșitul unui tablou Apăsați ():

Var arr =; // Creați o matrice goală arr.push ("zero"); // Adăugați o valoare la finalul arr.push ("unul", 2); // Adăugați încă două valori

De asemenea, puteți adăuga un element la sfârșitul unui tablou, atribuind o valoare elementului arr. Pentru a insera un element la începutul unui tablou, puteți folosi metoda dezactivați () iar elementele existente în matrice sunt deplasate la indicii superiori.

Puteți șterge elemente ale unui tablou folosind operatorul de ștergere, cum ar fi proprietățile obișnuite ale obiectelor:

Var arr =; șterge arr; 2 în arr; // false, indexul 2 din matrice este nedefinit arr.length; // 3: operatorul de ștergere nu modifică proprietatea de lungime a matricei

Eliminarea unui element este similară (dar ușor diferită) atribuirea unei valori nedefinite acelui element. Rețineți că aplicarea operatorului de ștergere unui element dintr-o matrice nu modifică valoarea proprietății lungime și nici nu se deplasează în jos elementele cu indici mai mari pentru a umple golul rămas după ștergerea elementului.

În plus, este posibil să eliminați elemente la sfârșitul unui tablou prin simpla atribuire a unei noi valori proprietății lungime. Matricele au o metodă pop ()(opus metodei push ()), care scade lungimea matricei cu 1 și returnează valoarea elementului eliminat. Există și o metodă schimb ()(opusul unshift ()), care elimină elementul de la începutul matricei. Spre deosebire de operatorul de ștergere, metoda shift () mută toate elementele în jos cu o poziție sub indicii lor actuali.

În cele din urmă, există o metodă multifuncțională îmbinare (), care vă permite să inserați, să ștergeți și să înlocuiți elemente de matrice. Schimbă valoarea proprietății lungime și schimbă elementele matricei cu indici mai mici sau mai mari, după cum este necesar. Vom discuta despre toate aceste metode puțin mai târziu.

Matrice multidimensionale

JavaScript nu acceptă matrice multidimensionale „reale”, dar face o treabă bună de a le imita folosind matrice din matrice. Pentru a accesa un element de date dintr-o matrice de matrice, este suficient să folosiți operatorul de două ori.

De exemplu, să presupunem că matricea variabilă este o matrice de matrice de numere. Fiecare element al matricei [x] este o matrice de numere. Puteți utiliza matricea expresiei [x] [y] pentru a accesa un anumit număr dintr-o matrice. Mai jos este un exemplu specific în care o matrice bidimensională este folosită ca tabel de înmulțire:

// Creați o matrice multidimensională var table = new Array (10); // Există 10 rânduri în tabel pentru (var i = 0; i

Metode de clasă de matrice

Standardul ECMAScript 3 definește multe funcții convenabile pentru lucrul cu matrice ca parte a Array.prototype, care sunt disponibile ca metode ale oricărei matrice. Aceste metode vor fi prezentate în următoarele subsecțiuni.

Metoda Join ().

Metoda Array.join () convertește toate elementele din matrice în șiruri de caractere, le concatenează și returnează șirul rezultat. Un argument opțional poate fi transmis metodei cu un șir care va fi folosit pentru a separa elementele din șirul rezultat. Dacă nu este specificat un șir delimitator, se folosește o virgulă. De exemplu, următorul fragment are ca rezultat șirul „1,2,3”:

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

Metoda inversă ().

Metoda Array.reverse () inversează ordinea elementelor dintr-o matrice și returnează o matrice reordonată. Permutarea se face direct pe matricea originală, adică. această metodă nu creează o nouă matrice cu elemente reordonate, ci le reordonează într-o matrice deja existentă. De exemplu, următorul fragment, care utilizează metodele inversă () și join (), are ca rezultat șirul „3,2,1”:

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

Metoda sortare ().

Metoda Array.sort () sortează elementele din tabloul original și returnează tabloul sortat. Dacă metoda sort () este apelată fără argumente, sortarea este efectuată în ordine alfabetică (pentru comparație, elementele sunt convertite temporar în șiruri, dacă este necesar). Elementele nedefinite sunt împachetate până la sfârșitul matricei.

Puteți trece o funcție de comparație ca argument pentru a sorta () pentru a sorta în orice altă ordine non-alfabetică. Această funcție stabilește care dintre cele două argumente ale sale să fie primul în lista sortată. Dacă primul argument trebuie să-l precede pe al doilea, funcția de comparare trebuie să returneze un număr negativ. Dacă primul argument urmează să-l urmeze pe al doilea în tabloul sortat, atunci funcția trebuie să returneze un număr mai mare decât zero. Și dacă două valori sunt echivalente (adică ordinea nu este importantă), funcția de comparare ar trebui să returneze 0:

Var arr =; arr.sort (); // Ordine alfabetică: 1111, 222, 33, 4 arr.sort (funcția (a, b) (// Ordine numerică: 4, 33, 222, 1111 return ab; // Returnează valoarea 0 // în funcție de sortare ordinea a și b)); // Sortează înapoi, de la cel mai mare la cel mai mic arr.sort (funcția (a, b) (întoarce b-a));

Observați cât de convenabil este să utilizați o funcție fără nume în acest fragment. Funcția de comparare este folosită doar aici, deci nu este nevoie să-i dea un nume.

Metoda concat ().

Metoda Array.concat () creează și returnează o nouă matrice care conține elementele matricei originale pe care a fost apelată metoda concat () și valorile oricăror argumente transmise metodei concat (). Dacă oricare dintre aceste argumente este el însuși un tablou, elementele sale sunt adăugate la tabloul returnat. Trebuie remarcat, totuși, că nu există o conversie recursivă a unui tablou din matrice într-o matrice unidimensională. Metoda concat () nu modifică tabloul original. Mai jos sunt câteva exemple:

Var arr =; arr.concat (4, 5); // Returnează arr.concat (); // Returnează arr.concat (,) // Returnează arr.concat (4,]) // Returnează]

Metoda feliei ().

Metoda Array.slice () returnează o porțiune, sau un subbary, a matricei specificate. Cele două argumente ale metodei definesc începutul și sfârșitul fragmentului returnat. Matricea returnată conține elementul numerotat în primul argument plus toate elementele ulterioare până la (dar fără să includă) elementul numerotat în al doilea argument.

Dacă este specificat un singur argument, tabloul returnat conține toate elementele de la poziția de început până la sfârșitul matricei. Dacă oricare dintre argumente este negativ, acesta specifică numărul elementului relativ la sfârșitul matricei. Deci, argumentul -1 corespunde ultimului element al tabloului, iar argumentul -3 corespunde celui de-al treilea element al tabloului de la sfârșit. Aici sunt cateva exemple:

Var arr =; arr.slice (0,3); // Returnează arr.slice (3); // Returnează arr.slice (1, -1); // Returnează arr.slice (-3, -2); // Va reveni

Metoda splice ().

Metoda Array.splice () este o metodă generică care inserează sau elimină elemente dintr-o matrice. Spre deosebire de metodele slice () și concat (), metoda splice () modifică matricea originală pe care a fost apelată. Rețineți că metodele splice () și slice () au nume foarte asemănătoare, dar efectuează operații complet diferite.

Metoda splice () poate elimina elemente dintr-o matrice, poate introduce elemente noi sau poate face ambele în același timp. Elementele matricei sunt deplasate după cum este necesar, astfel încât după inserare sau ștergere, să se formeze o secvență adiacentă.

Primul argument al metodei splice () specifică poziția din matrice din care se inserează și/sau șterge. Al doilea argument specifică numărul de elemente care trebuie eliminate (tăiate) din matrice. Dacă al doilea argument este omis, toate elementele matricei din matricea specificată până la sfârșitul matricei sunt eliminate. Metoda splice () returnează o matrice a elementelor eliminate sau (dacă niciunul dintre elemente nu a fost eliminat) o matrice goală.

Primele două argumente ale metodei splice () specifică elementele matricei care trebuie eliminate. Aceste argumente pot fi urmate de orice număr de argumente suplimentare care specifică elementele care trebuie inserate în matrice, începând de la poziția specificată în primul argument.

Var arr =; arr.splice (4); // Returnează arr = arr.splice (1,2); // Returnează arr = arr.splice (1,1); // Va reveni; arr = arr =; arr.splice (2,0, "a", "b"); // Va reveni; arr =

Metodele push () și pop ().

Metodele push () și pop () permit matricelor să fie tratate ca stive. Metoda push () adaugă unul sau mai multe elemente noi la sfârșitul matricei și returnează noua lungime. Metoda pop () efectuează operația opusă - elimină ultimul element al matricei, scade lungimea matricei și returnează valoarea pe care a eliminat-o. Rețineți că ambele metode modifică matricea originală și nu creează o copie modificată a acesteia.

Metodele unshift () și shift ().

Metodele unshift () și shift () se comportă aproape în același mod ca push () și pop (), cu excepția faptului că inserează și elimină elemente la începutul matricei, nu la sfârșit. Metoda unshift () mută elementele existente către indici mai mari pentru a face loc, adaugă elementul sau elementele la începutul matricei și returnează noua lungime a matricei. Metoda shift () elimină și returnează primul element al matricei, deplasând toate elementele ulterioare cu o poziție în jos pentru a ocupa spațiul liber la începutul matricei.

  • Traducere
  • I. Iterarea peste matrice reale
    1. Pentru fiecare metodă și metode conexe
    2. Pentru buclă
    3. Utilizarea corectă a for ... în buclă
    4. For... of loop (utilizarea implicită a unui iterator)
    5. Utilizarea explicită a unui iterator
    1. Folosind metode de iterare peste matrice reale
    2. Convertirea într-o matrice reală
    3. O notă despre obiectele runtime

I. Iterarea peste matrice reale

În prezent, există trei moduri de a repeta elementele unei matrice reale:
  1. Metoda Array.prototype.forEach;
  2. clasic pentru buclă;
  3. Un „bine format” pentru... în buclă.
În plus, în curând, odată cu apariția noului standard ECMAScript 6 (ES 6), sunt de așteptat încă două moduri:
  1. for ... of loop (utilizarea implicită a unui iterator);
  2. utilizarea explicită a unui iterator.

1. Metoda forEach și metodele conexe

Dacă proiectul dvs. este conceput pentru a susține capabilitățile standardului ECMAScript 5 (ES5), puteți utiliza una dintre inovațiile acestuia - metoda forEach.

Exemplu de utilizare:
var a = ["a", "b", "c"]; a.forEach (funcție (intrare) (console.log (intrare);));
În general, utilizarea forEach necesită conectarea bibliotecii de emulare es5-shim pentru browserele care nu au suport nativ pentru această metodă. Acestea includ IE 8 și versiuni anterioare, care sunt încă utilizate astăzi.

Avantajul forEach este că nu este nevoie să declarați variabile locale pentru a stoca indexul și valoarea elementului de matrice curent, deoarece acestea sunt transmise automat funcției de apel invers ca argumente.

Dacă sunteți îngrijorat de costul potențial al apelării pentru fiecare articol, nu vă faceți griji și citiți aceasta.

ForEach este conceput pentru a repeta peste toate elementele unei matrice, dar în afară de aceasta, ES5 oferă mai multe metode utile pentru a itera toate sau unele dintre ele, plus efectuarea unor acțiuni cu acestea:

  • every - returnează adevărat dacă pentru fiecare element al matricei callback returnează o valoare care este turnată la adevărat.
  • some - returnează adevărat dacă pentru cel puțin un element al matricei, callback returnează o valoare care este turnată la adevărat.
  • filtru - creează o nouă matrice care include acele elemente ale matricei originale pentru care callback-ul returnează adevărat.
  • hartă - creează o nouă matrice constând din valorile returnate de apel invers.
  • reduce - reduce un tablou la o singură valoare, aplicând pe rând un callback fiecărui element al matricei, începând cu primul (poate fi util pentru calcularea sumei elementelor matricei și a altor funcții finale).
  • reduceRight - Funcționează similar cu reduce, dar repetă peste elemente în ordine inversă.

2. Bucla for

Bine vechi pentru reguli:

Var a = ["a", "b", "c"]; indicele var; pentru (index = 0; index< a.length; ++index) { console.log(a); }
Dacă lungimea matricei rămâne neschimbată pe toată durata buclei, iar bucla în sine aparține unei părți de cod critice pentru performanță (ceea ce este puțin probabil), atunci puteți utiliza versiunea „mai optimă” a for cu stocarea lungimii matrice:

Var a = ["a", "b", "c"]; var index, len; pentru (index = 0, len = a.lungime; index< len; ++index) { console.log(a); }
În teorie, acest cod ar trebui să ruleze puțin mai rapid decât cel anterior.

Dacă ordinea iterației nu este importantă, atunci puteți merge și mai departe în ceea ce privește optimizarea și puteți scăpa de variabila pentru stocarea lungimii matricei prin schimbarea ordinii de iterație la opus:

Var a = ["a", "b", "c"]; indicele var; pentru (index = a.length - 1; index> = 0; --index) (console.log (a);)
Cu toate acestea, în motoarele JavaScript moderne, aceste jocuri optimizate de obicei nu înseamnă nimic.

3. Utilizarea corectă a for ... în buclă

Dacă vi se sfătuiește să utilizați o buclă for... în buclă, amintiți-vă că iterarea peste matrice nu este scopul pentru care este destinată. Spre deosebire de concepția greșită obișnuită, bucla for ... in nu repetă peste indicii matricei, ci proprietățile enumerate ale obiectului.

Cu toate acestea, în unele cazuri, cum ar fi iterarea peste matrice rare, pentru ... în poate fi utilă, cu condiția să luați unele măsuri de precauție, așa cum se arată în exemplul de mai jos:

// a este un tablou rar var a =; a = „a”; a = „b”; a = "c"; pentru (cheie var în a) (dacă (a.hasOwnProperty (cheie) && /^0$|^\d*$/.test(cheie) && cheie<= 4294967294) { console.log(a); } }
În acest exemplu, la fiecare iterație a buclei, sunt efectuate două verificări:

  1. că matricea are propria sa proprietate numită cheie (nu este moștenită de la prototipul său).
  2. acea cheie este un șir care conține notația zecimală a unui număr întreg a cărui valoare este mai mică decât 4294967294. De unde vine ultimul număr? Din definiția unui index de matrice din ES5, care implică faptul că cel mai mare indice pe care îl poate avea un element dintr-o matrice este (2 ^ 32 - 2) = 4294967294.
Desigur, astfel de verificări vor dura mai mult timp la executarea buclei. Dar în cazul unei matrice rare, această metodă este mai eficientă decât o buclă for, deoarece în acest caz sunt repetate numai acele elemente care sunt definite în mod explicit în matrice. Deci, în exemplul de mai sus, vor fi efectuate doar 3 iterații (pentru indicii 0, 10 și 10000) - față de 10001 în bucla for.

Pentru a nu scrie un cod atât de greoi de verificări de fiecare dată când trebuie să iterați peste o matrice, îl puteți proiecta ca o funcție separată:

Funcția arrayHasOwnIndex (matrice, cheie) (return array.hasOwnProperty (cheie) && /^0$|^\d*$/.test(cheie) && cheie<= 4294967294; }
Apoi corpul buclei din exemplu va fi redus semnificativ:

Pentru (tastați a) (dacă (arrayHasOwnIndex (a, cheie)) (console.log (a);))
Codul de verificări de mai sus este universal, potrivit pentru toate cazurile. Dar, în schimb, puteți utiliza o versiune mai scurtă, deși formal nu este complet corectă, dar totuși potrivită pentru majoritatea cazurilor:

Pentru (tastați a) (dacă (a.hasOwnProperty (cheie) && String (parseInt (cheie, 10)) === cheie) (console.log (a);))

4. Bucla for ... of (utilizarea implicită a unui iterator)

ES6, deși este încă în starea de schiță, ar trebui să introducă iteratori în JavaScript.

Un iterator este un protocol implementat pe obiecte care definește o modalitate standard de a obține o secvență de valori (finită sau infinită).
Un iterator este un obiect în care este definită următoarea metodă () - o funcție fără argumente care returnează un obiect cu două proprietăți:

  1. done (boolean) - adevărat dacă iteratorul a ajuns la sfârșitul secvenței care este iterată. Altfel, fals.
  2. valoare - definește valoarea returnată de iterator. Poate fi nedefinit (absent) dacă proprietatea realizată este adevărată.
Multe obiecte încorporate, incl. tablourile reale au iteratoare implicite. Cea mai simplă modalitate de a folosi un iterator pe tablouri reale este să folosiți noul pentru ... de construcție.

Un exemplu de utilizare pentru... a:

Var val; var a = ["a", "b", "c"]; pentru (val of a) (console.log (val);)
În exemplul de mai sus, bucla for... of apelează implicit iteratorul obiectului Array pentru a obține fiecare valoare din matrice.

5. Utilizarea explicită a unui iterator

Iteratorii pot fi, de asemenea, folosiți în mod explicit, totuși, în acest caz, codul devine mult mai complicat în comparație cu bucla for... of. Arata cam asa:

Var a = ["a", "b", "c"]; var it = a.intrari (); intrare var; în timp ce (! (entry = it.next ()). done) (console.log (entry.value);)
În acest exemplu, metoda Array.prototype.entries returnează un iterator care este utilizat pentru a afișa valorile matricei. La fiecare iterație, entry.value conține o matrice de forma [cheie, valoare].

II. Iterarea peste obiecte asemănătoare matricei

Pe lângă matricele reale, JavaScript mai conține obiecte asemănătoare matricei ... Ceea ce au în comun cu tablourile reale este că au o proprietate de lungime și proprietăți cu nume sub formă de numere corespunzătoare elementelor tabloului. Exemplele includ DOM-ul colecției NodeList și pseudo-matricea de argumente disponibile în orice funcție/metodă.

1. Utilizarea metodelor de iterare peste matrice reale

Cel puțin cele mai multe, dacă nu toate, metodele de iterare peste matrice reale pot fi folosite pentru a repeta peste obiecte asemănătoare matricei.

Construcțiile pentru și pentru ... din pot fi aplicate obiectelor asemănătoare matricei exact în același mod ca și matricelor reale.

Metodele ForEach și alte Array.prototype se aplică și obiectelor asemănătoare matricei. Pentru a face acest lucru, trebuie să utilizați un apel către Function.call sau Function.apply.

De exemplu, dacă doriți să aplicați forEach la proprietatea childNodes a unui obiect Node, puteți proceda astfel:

Array.prototype.forEach.call (node.childNodes, function (child) (// face ceva cu obiectul copil));
Pentru a ușura reutilizarea acestei tehnici, puteți declara o referință la metoda Array.prototype.forEach într-o variabilă separată și o puteți utiliza ca prescurtare:

// (Acest lucru presupune că tot codul de mai jos este în același domeniu) var forEach = Array.prototype.forEach; // ... forEach.call (node.childNodes, function (child) (// face ceva cu obiectul copil));
Dacă un obiect asemănător matricei are un iterator, atunci acesta poate fi utilizat în mod explicit sau implicit pentru a itera asupra obiectului în același mod ca și pentru matricele reale.

2. Convertiți într-o matrice reală

Există, de asemenea, o altă modalitate, foarte simplă, de a repeta peste un obiect asemănător matricei: convertiți-l într-o matrice reală și utilizați oricare dintre metodele de mai sus pentru a itera peste matrice reale. Pentru conversie, puteți utiliza metoda generică Array.prototype.slice, care poate fi aplicată oricărui obiect asemănător matricei. Acest lucru se face foarte simplu, așa cum se arată în exemplul de mai jos:

Var trueArray = Array.prototype.slice.call (arrayLikeObject, 0);
De exemplu, dacă doriți să convertiți o colecție NodeList într-o matrice reală, aveți nevoie de cod ca acesta:

Var divs = Array.prototype.slice.call (document.querySelectorAll ("div"), 0);
Actualizați: După cum s-a menționat în comentarii

Matricele sunt unul dintre cele mai frecvent utilizate tipuri de variabile care vă permit să stocați multe valori consecutive într-un „un singur loc”. Cu toate acestea, când vine vorba de JavaScript, sunt multe de renunțat.

În acest articol, vom arunca o privire la trei tehnici puțin cunoscute pe care le puteți aplica atunci când lucrați cu matrice.

1. Adăugarea proprietăților personalizate la matrice

Dacă utilizați căutarea pentru a găsi definiția unei matrice în JavaScript, majoritatea surselor vor pretinde că un anumit tip de valoare variabilă este reprezentat ca un obiect.

În general, multe lucruri pe care le întâlnim în JavaScript sunt obiecte. Va fi corect să rețineți că limbajul conține și tipuri de date „primitive”, dar valorile lor sunt cumva folosite în proprietățile din interiorul obiectelor.

2. Acces la elementele matricei dintr-o buclă

Deoarece indicii de matrice pot lua numai valori pozitive, originea începe de la zero. Ulterior, putem folosi acest index pentru a accesa elementul matrice la această iterație a buclei.

ECMAScript6 a introdus o modalitate de a bucla printr-o matrice fără a utiliza indici și printr-un nou for... de buclă.

Bucla for... of este proiectată să itereze peste elementele unui tablou fără a afecta indexul elementului.

Var ary = ["portocale", "măr", "litchi"]; for (let item of ary) (console.log (item);) // „orange”, „apple”, „lychee” Pentru comparație: afișarea indicilor articolelor într-o buclă for. var ary = ["portocale", "măr", "litchi"]; pentru (var item = 0; item< ary.length; item++){ console.log(item); } // 0, 1, 2

3. Numărul de elemente nu este dimensiunea matricei

Când vorbim despre dimensiunea unui tablou, de obicei ne gândim că ne referim la numărul de elemente stocate în ea. De fapt, acest lucru nu este în întregime adevărat - proprietatea lungime este calculată în funcție de indicele maxim al elementului.

Proprietatea lungimii este foarte ambiguă. Pentru a vă convinge de acest lucru, uitați-vă la următoarele manipulări:

Var ary =; ary.lungime = 3; console.log (arică.lungime); // 3 ary = "abcd"; console.log (arică.lungime); // 6

În ultimul exemplu, a fost suficient să puneți elementul în poziția a cincea, drept urmare lungimea matricei a devenit egală cu 6. Dacă credeți că indici de la 0 la 4 vor fi creați automat, atunci veți fi gresit. Acest lucru poate fi verificat folosind operatorul in.

Var ary =; ary.lungime = 3; console.log (arică.lungime); // 3 ary = "abcd"; console.log (arică.lungime); // 6 console.log (0 în ary); // fals

În acest caz, ar fi corect să numiți matricea „sparse”.

De asemenea, putem manipula proprietatea lungime pentru a tăia matricele. Exemplul de mai jos demonstrează „pierderea” elementului la indicele 5 prin scăderea valorii proprietății lungime a tabloului ari.

Var ary =; ary.lungime = 3; console.log (arică.lungime); // 3 ary = "abcd"; console.log (arică.lungime); // 6 ari.lungime = 2; console.log (arică.lungime); // 2 console.log (ary); // nedefinit

În această lecție, ne vom familiariza cu matricele, vom învăța cum să le creăm, să efectuăm operații asupra elementelor lor și, de asemenea, vom lua în considerare metodele și proprietățile de bază disponibile atunci când lucrăm cu ele.

Conceptul de matrice

O matrice este o colecție ordonată de date care are un nume și este o instanță a unui obiect Array. Este format din elemente, care sunt accesate folosind numărul lor ordinal (index). Numerotarea elementelor dintr-o matrice nu începe de la 1, ci de la 0.

Următoarea figură prezintă o matrice numerică cu 7 elemente. Elementele acestui tablou conțin următoarele date: 1 element (0 index) - numărul 123, 2 elemente (1 index) - numărul 214, 3 elemente (2 index) - numărul 315 etc.

// element în care vom scoate matricea

Creați (declarați) o matrice

O matrice în JavaScript este creată folosind operatorul nou și funcția constructor Array. Puteți specifica una dintre următoarele valori în parantezele funcției constructor Array:

  • Număr. În acest caz, această funcție va crea o matrice cu numărul specificat de elemente. Toate aceste elemente vor avea valori nedefinite.
  • Mai multe valori separate prin virgule. În acest caz, funcția constructor Array va crea o matrice cu numărul specificat de elemente și le va atribui valorile corespunzătoare.
  • Nimic. În acest caz, această funcție va crea o matrice goală.

Spre deosebire de multe alte limbaje de programare, matricele din JavaScript sunt redimensionate automat, de exemplu. sunt în mod inerent dinamici. Aceste matrice nu trebuie să fie dimensionate. O altă caracteristică distinctivă a matricelor JavaScript este aceea că diferite elemente ale aceleiași matrice pot conține diferite tipuri de date.

Lucrul cu elemente de matrice

Pentru a face referire la un anumit element al unui tablou, trebuie să specificați numele acestei matrice și indexul său între paranteze drepte. Această operație se mai numește și operație de indexare.

De exemplu, să creăm o matrice goală și să îi adăugăm 4 elemente de text:

// creează o matrice goală smartphoneColors var smartphoneColors = new Array (); // atribuie unui element al matricei (index 0) valoarea „Black” smartphoneColors = „Black”; // atribuie celui de-al 2-lea element al matricei (index 1) valoarea "White" smartphoneColors = "White"; // atribuie 3 elemente de matrice (index 2) valoarea „Gray” smartphoneColors = „Gray”; // atribuie celui de-al 4-lea element al matricei (index 3) valoarea "Blue" smartphoneColors = "Blue";

De exemplu, să tipărim pe consola browserului (F12) valorile 2 și 4 ale matricei smartphoneColors:

Console.log ("2 element =" + smartphoneColors); console.log ("al 4-lea element =" + smartphoneColors);

Lungimea matricei (numărul de elemente din matrice)

Numărul de elemente dintr-o matrice este determinat folosind proprietatea lungime.

// creează o matrice prin listarea valorilor elementelor din funcția Array var volumeHDDs = new Array ("500Gb", "1Tb", "2Tb"); // variabila lengthArray atribuie lungimea matricei volumeHDDs var lengthArray = volumeHDDs.length;

Cum să obțineți primul element al unui tablou

Valoarea primului element al tabloului se obține prin specificarea numărului 0 între paranteze drepte ale acestei matrice:

// creează o matrice de 3 elemente var volumeHDDs = nou Array ("500Gb", "1Tb", "2Tb"); // obțineți valoarea primului element al matricei var firstValue = volumeHDDs;

Cum să obțineți ultimul element al unui tablou

Valoarea ultimului element al tabloului se obține prin specificarea expresiei nume_tablou.lungime-1 între paranteze drepte din această matrice:

// creează o matrice de 3 elemente var volumeHDDs = nou Array ("500Gb", "1Tb", "2Tb"); // obțineți valoarea ultimului element al matricei var lastValue = volumeHDDs;

Iterarea peste o matrice

Iterația peste elementele matricei se realizează folosind bucla for.

De exemplu, să repetăm ​​toate elementele matricei și să le afișăm valorile în consola browserului (F12):

// crearea unui tablou nameStudents, format din 4 elemente var nameStudents = new Array ("Petya", "Vasya", "Kolya", "Maxim"); // iterează peste elementele matricei de la 0 la lungimea matricei-1 pentru (var i = 0; i<= nameStudents.length-1; i++) { console.log(i+1 + " элемент массива = " + nameStudents[i]); }

Pentru ce este operatorul de ștergere?

Operatorul de ștergere este folosit nu pentru a elimina un element dintr-o matrice, ci pentru a atribui o valoare nedefinită unui element dat al matricei.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); șterge namePlanets; pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Metode de obiecte matrice

Obiectul Array conține următoarele metode de lucru cu elemente de matrice: pop (), push (), shift (), unshift (), slice (), splice (), join (), split (), reverse (), sort () ...

Eliminarea ultimului element al unui tablou - pop

Metoda pop este concepută pentru a elimina ultimul element al unui tablou. Această metodă nu are parametri. Ca rezultat, returnează valoarea ultimului element (înlăturat) al matricei.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.pop (); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Adăugarea unui element la sfârșitul unui tablou - push

Metoda push este concepută pentru a adăuga un element la sfârșitul unui tablou. Valoarea acestui element este specificată ca parametru al acestei metode. Ca urmare, metoda push returnează numărul de elemente din matrice, ținând cont de valoarea adăugată.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.push („Jupiter”); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Eliminarea primului element al unui tablou - shift

Metoda shift este concepută pentru a elimina primul element dintr-o matrice, adică. element cu indice 0. Toate celelalte elemente ale matricei sunt mutate la început, adică. indicele lor este decrementat cu 1. Această metodă returnează valoarea elementului de matrice șters ca rezultat al execuției.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.shift (); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Adăugarea unui element la începutul unui tablou - unshift

Metoda unshift este concepută pentru a adăuga un element la începutul unui tablou. Valoarea acestui element este specificată ca parametru al acestei metode. Ca urmare, această metodă returnează numărul de elemente din matrice, ținând cont de valoarea adăugată.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.unshift ("Jupiter"); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Copierea elementelor matricei - slice

Metoda slice este concepută pentru a copia elementele de matrice specificate. Această metodă nu modifică matricea originală, dar returnează ca rezultat o nouă matrice a elementelor copiate.

Metoda feliei are 2 parametri:

  • 1 parametru (obligatoriu) - folosit pentru a indica indexul elementului din care se începe copierea elementelor;
  • 2 parametru (opțional) - folosit pentru a indica indexul elementului pe care doriți să îl copiați. Dacă nu o specificați, atunci elementele de la sfârșitul matricei specificate vor fi copiate.
var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets = namePlanets.slice (2,3); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Adăugarea și/sau îndepărtarea elementelor - îmbinare

Metoda de îmbinare este pentru adăugarea și/sau eliminarea elementelor de matrice.

1. Metoda de îmbinare vă permite să decupați unele dintre elementele sale dintr-o matrice, de ex. vor fi eliminate din matrice:

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); numePlanete.splice (2,2); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

2. Metoda de îmbinare vă permite, de asemenea, să adăugați (dacă parametrul 2 este 0) elemente la matrice sau simultan să adăugați și să eliminați (dacă parametrul 2 este mai mare de 0) elemente din matrice.

Această metodă are 3 parametri:

  • 1 parametru (obligatoriu) - destinat să indice indicele elementului de la care începem tăierea elementelor;
  • Parametrul 2 (obligatoriu) - destinat specificarii numarului de elemente de taiat;
  • 3 și parametrii următori (opțional) - sunt destinate adăugării de elemente la matrice.
var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.splice (1,1, „Uranus”, „Neptun”, „Saturn”); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Convertiți matrice în șir - join

Metoda join este pentru conversia unui tablou într-un șir. Această metodă are un parametru care este folosit ca șir de legătură între elementele matricei atunci când le convertesc într-un șir. Dacă nu este specificat nimic ca parametru, atunci o virgulă (",") va fi folosită pentru unirea elementelor matricei.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); var strPlanets = namePlanets.join (); console.log ("Linie:" + strPlanets); var strPlanets2 = namePlanets.join (""); console.log ("Linie:" + strPlanets2);

Convertiți șirul în matrice - împărțiți

Metoda split este pentru conversia unui șir într-o matrice. Această metodă are un parametru, prin care puteți specifica un șir, pe baza căruia șirul dat va fi împărțit într-o matrice de șiruri.

Var strElementComputers = "Unitate de sistem, monitor, tastatură, mouse, coloane, imprimantă"; var elementComputers = strElementComputers.split (","); console.log ("Numărul de elemente din matrice:" + elementComputers.length); pentru (var i = 0; i<= elementComputers.length-1; i++) { console.log(i + " элемент массива = " + elementComputers[i]); }

Reordonarea elementelor matricei în ordine inversă - inversă

Metoda inversă este concepută pentru a reordona elementele matricei în ordine inversă.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); numePlanete.reverse (); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Sortarea elementelor unui tablou - sortare

Metoda sortare este pentru sortarea elementelor unui tablou. În mod implicit, această metodă sortează matricea ca șiruri.

Var namePlanets = noua matrice („Venus”, „Mercur”, „Pământ”, „Marte”); namePlanets.sort (); console.log ("Numărul de elemente din matrice:" + namePlanets.length); pentru (var i = 0; i<= namePlanets.length-1; i++) { console.log(i + " элемент массива = " + namePlanets[i]); }

Top articole similare