ES6 Methods
ES6, care este forma scurtă a ECMAScript 6, este versiunea de JavaScript care a fost lansată în iunie 2015. Se pare că dezvoltatorilor care întrețin JavaScript le place luna mea de naștere, deoarece atunci au fost lansate cele mai multe dintre versiunile lor.
Dacă abia învățați JavaScript, ES6 vă va face viața mult mai ușoară. Nu oferă doar metode de matrice, ci și lucruri precum destructurarea, funcții săgeată, o modalitate mai bună de a scrie cod orientat pe obiecte și modular, printre altele.
Majoritatea acestor metode de matrice ES6 iau o funcție de apelare și, ca urmare, sunt numite metode de matrice de ordin superior. Funcțiile săgeată sunt foarte frecvente în funcțiile de ordin superior, deoarece ne simplifică codul
Metoda map
Dacă există o metodă array ES6 pe care o veți folosi aproape tot timpul, aceasta este această metodă. Este cea mai bună metodă de array pe care o folosesc atât în JavaScript, cât și în Python. Chiar dacă unii dezvoltatori JavaScript au încercat să implementeze map
înainte de ES6, metoda standard map
a fost introdusă în JavaScript în ES6. În fragmentul de cod de mai jos, am implementat map
în trei moduri:
- Folosind funcții obișnuite JavaScript: Aici am transmis două argumente funcției, primul
item
, care este elementul asupra căruia vreau să fac ceva, și un argument opțional,index
, care este indicele fiecărui element - Utilizarea funcțiilor săgeată: De asemenea, am trecut două argumente la fel ca în primul exemplu, dar funcția de apelare de aici este o funcție săgeată, ceea ce face codul mult mai ordonat.
- Am folosit de asemenea funcții săgeată, dar am trecut un singur argument – elementul pe care vreau să îl iterăm. Acest lucru este util dacă nu am nevoie de index.
Metoda filter
Metoda filter
este o altă metodă de array de ordin superior pe care ar trebui să o folosiți astăzi. Ceea ce face filter
este simplu. Dat fiind un tablou de elemente, dorim să returnăm un nou tablou din tabloul inițial, în care o anumită condiție este true
. Funcția callback trebuie să returneze un boolean, iar elementul care se supune condiției este cel care va fi în noul array.
Metoda de reducere
Este foarte drăguță și cred că este cea mai grea dintre toate metodele pe care le-am menționat până acum. Ceea ce face această metodă este să folosească un anumit callback pentru a reduce array-ul. De exemplu, dacă vreau să găsesc suma tuturor elementelor dintr-un tablou sau produsul tuturor elementelor dintr-un tablou, această metodă este o metodă frumoasă de utilizat, în loc să fac o buclă și să incrementăm suma sau produsul inițial.
Metoda forEach
Această metodă este similară cu metoda map
, dar în acest caz, nu returnează un nou array. Este mai mult o buclă obișnuită for
în JavaScript, dar într-un mod mai curat și mai avansat. Acceptă trei parametri, după cum probabil ați știut. Primul este elementul din array, al doilea este indexul elementului (care este opțional), iar al treilea este obiectul array din care face parte elementul curent.
În fragmentul de cod de mai jos, am folosit forEach
pentru a manipula modelul Document Object Model (DOM), ceea ce este destul de mișto. Pot actualiza array-ul, iar elementele listei redate pe DOM vor fi modificate automat.
Metoda concat
Există cazuri în care veți dori să uniți sau să fuzionați două sau mai multe array-uri. Atunci, această funcție vă va fi foarte utilă. Apelarea concat
pe două array-uri produce un nou array care constă din cele două array-uri combinate.
Metodele every și some
Aceste metode sunt utile dacă doriți să știți dacă toate elementele dintr-un array trec o condiție și, respectiv, dacă unele dintre elementele dintr-un array trec o condiție.
Alte metode includ:
Metoda fill
Umple fiecare element din array cu o valoare care este trecută ca parametru: .fill(1)
// .
Metoda entries
Aceasta face ca array-ul să se comporte ca un obiect cu o pereche cheie-valoare, unde cheia este indicele și valoarea este elementul.
Metoda find
Această metodă returnează primul element dintr-un array care trece un test. Acceptă o funcție de apelare, care returnează un boolean.
Metoda splice
Această metodă acceptă un număr infinit de parametri – primii doi fiind indicele de unde doriți să începeți să inserați și să eliminați elemente și, respectiv, numărul de elemente pe care doriți să le eliminați – iar restul parametrilor fiind elementele pe care doriți să le adăugați la matrice. Aceasta returnează un tablou cu elementele eliminate și mută tabloul.
Metoda inversă
Metoda inversă inversează tabloul. Rețineți că îl mută, ceea ce înseamnă că modifică array-ul în loc să creeze doar copia lui.
Metoda join
Această metodă transformă un array într-un array într-un șir de caractere. Rețineți că nu modifică array-ul – doar creează o copie a acestuia. Reversul acestei metode este metoda split
, care transformă un șir într-un array. Aceasta primește ca parametru un șir de caractere, care este ceea ce va fi folosit pentru a uni fiecare element al tabloului.
Metoda flat
Metoda flat
este o metodă nouă care a fost adăugată în ES11 (ES11 a fost creat în luna iunie a acestui an). Această metodă aplatizează un tablou.
Să spunem că avem un tablou care conține un tablou și dorim să găsim suma și produsul fiecărui element din tablourile din interiorul tabloului. Ceea ce vreau să spun este că, dacă am un array care este definit de , ]
, suma ar trebui să fie 10
și produsul ar trebui să fie 24
.
Un mod de a face acest lucru este de a face o buclă prin array-ul inițial și de a face o buclă prin fiecare element și de a obține suma și produsul.
Cu ES6, pot face o buclă prin array-ul inițial și pot folosi metoda reduce
pentru a obține suma și produsul fiecărui element din array-ul principal – folosind acest lucru pentru a obține suma și produsul total. Dar cu tabloul flat
, pot aplatiza tabloul principal, returnând astfel un singur tablou care să conțină doar numere, și pot folosi metoda reduce
asupra acestuia.
Metoda flatMap
Aceasta este combinația dintre flat
și map
. Ea mapează fiecare element din tablou la o anumită funcție de apelare, apoi aplatizează tabloul rezultat.
Să spunem că am dori să obținem pătratul fiecărui element dintr-un tablou neaplatizat și am dori să îl aplatizăm. Această metodă ne va face viața mai ușoară. În partea în care am folosit metoda flatMap
din fragmentul de cod de mai jos, aceasta ia un element care este un array și am returnat un array nou, care este pătratul elementelor. Și, în final, aplatizează array-ul rezultat.
.