Nu este necesar doar ca un dezvoltator să finalizeze sarcini, dar este și necesar să facă sarcini într-un mod mai eficient. Există mai multe biblioteci disponibile în JavaScript astăzi care fac lucrul cu variabile mai ușor pentru dezvoltatori. Vom învăța cum să folosim cele mai comune funcții ale bibliotecii Lodash în acest tutorial.
Dacă nu ați încercat încă Lodash, acum este momentul. Lodash este un pachet utilitar JavaScript contemporan care simplifică mai ușor lucrul cu matrice, numere întregi, obiecte, texte și alte tipuri de date.
Vă va ajuta să vă ocupați de diferite tipuri de obiecte și vă va economisi timp prin eliminarea necesității de a codifica metode generice. Codul dvs. va fi mai curat, cu mai puține linii și va funcționa în toate browserele. Dacă nu îl utilizați deja, ar trebui să îl luați în considerare cu atenție.
Neadoptarea Lodash este o pierdere uriașă pentru bazele noastre de coduri JavaScript. Este o soluție elegantă și fără erori pentru provocările comune pe care le avem la locul de muncă, iar utilizarea acesteia va face codul nostru mai ușor de citit și mai ușor de gestionat.
Să ne aprofundăm în unele dintre cele mai populare (sau nu!) funcții Lodash și să descoperim cât de extrem de utilă și frumoasă este această bibliotecă.
1. _.sortatUniq
Toate valorile duplicate nu vor fi returnate cu aceasta. Deoarece este doar pentru matrice sortate, aceasta este utilizată în principal din motive de viteză. Acest lucru este util doar dacă aveți de-a face cu o matrice mare. Dacă doriți să îmbunătățiți viteza, sortați matricea și utilizați metode care funcționează mai bine cu matricele sortate.
Lodash are o serie de alte funcții care sunt similare cu aceasta. Puteți să vă uitați la .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy.
2. _.reduce
_.reduce este similar cu o funcție de filtru. Singura diferență este că aveți opțiunea de a selecta forma obiectului returnat. Este normal, dacă nu înțelegi ce spun; există un exemplu pentru asta.
În esență, returnăm un nou obiect care conține utilizatori clasificați în funcție de vârstă, dar numai pentru cei cu vârsta cuprinsă între 18 și 59 de ani. Această funcție de ajutor Lodash este una dintre cele mai frecvent utilizate. Este, de asemenea, inclus în ES6. De asemenea, aș dori să subliniez două gafe tipice: nu uitați să returnați rezultatul la încheierea funcției și să furnizați valoarea implicită pentru rezultat ca al treilea parametru (aici).
3. _.get și ._set
Pentru aceasta, vă voi păcăli oarecum arătând două funcții care îndeplinesc aproape același lucru. _.get returnează o valoare de proprietate dintr-un obiect, iar _.set, ei bine, ați ghicit, setează o proprietate cu o valoare. Nimic unic, cu excepția faptului că puteți accesa o proprietate prin calea ei.
Să ne uităm la un exemplu.
Dacă calea nu există în timpul apelării _.set, aceasta va fi generată. Nu vor mai exista erori „Nu se pot seta proprietatea „articole” nedefinite”. Dacă calea nu există, _.get va returna nedefinit în loc de o eroare. Dacă calea devine nedefinită, puteți furniza și o valoare implicită (al treilea parametru).
4. _.găsesc
În loc să facem buclă printr-o matrice pentru a găsi un singur obiect, putem folosi _.find. E bine, dar nu este singurul lucru pe care _.find îl poate face. Cu o singură linie de cod, puteți descoperi și un obiect utilizând numeroase proprietăți. Verifică!
5. _.keyBy
Unul dintre preferatele mele este _.keyBy. Este destul de util atunci când încercați să obțineți un obiect cu un anumit atribut. Să presupunem că avem 100 de intrări pe blog și că vrem să o luăm pe cea cu id-ul „34abc”. Cum o vom face? Să vedem ce se întâmplă! Această metodă vă poate ajuta să aranjați o colecție de obiecte dacă un server o oferă ca o matrice. O funcție poate fi folosită și ca al doilea argument.
6. _.pentruFiecare
Această metodă va repeta peste o serie de obiecte unul câte unul, permițându-vă să faceți orice logică doriți. În acest prim exemplu, voi trece peste o listă de obiecte utilizator, îmbinând numele și prenumele lor pentru a crea o nouă proprietate numită fullName.
pentruFiecare dintre aceștia acceptă doi parametri. Matricea prin care trecem în buclă este primul parametru. Al doilea argument este o funcție de iterație, primul parametru fiind referința articolului individual, iar al doilea fiind indexul curent al iterației.
7. _.hartă
Harta, ca forEach, iterează printr-o serie de valori. Funcția map, pe de altă parte, returnează o nouă matrice de valori furnizate de funcția de iterare. Folosim aceeași colecție de utilizatori ca și în exemplul nostru forEach de aici. Putem folosi _.map pentru a genera o nouă variabilă care are o matrice aplatizată cu numele complete ale tuturor utilizatorilor.
8. _.diferenţa
Funcția de diferență va produce o nouă matrice de valori care diferă între prima și a doua matrice. Este vital să rețineți că locațiile argumentelor afectează rezultatele.
9. _.obține
Funcția _.get() ne poate ajuta în localizarea unui element într-un obiect. Putem seta o valoare implicită pentru ca funcția _.get() să revină dacă un element nu este găsit la calea furnizată. Funcția _.get() preia trei parametri, primul dintre care este obiectul din care dorim să obținem un element. Calea este a doua. A treia valoare este valoarea implicită pe care dorim să o returnăm dacă un element nu poate fi localizat.
10. _.găsesc
Funcția _find() poate părea identică cu metoda _.get(). Funcția _.find(), ca și metoda _.get(), acceptă trei parametri. Totuși, spre deosebire de metoda _.get(), primul argument poate fi o matrice sau un obiect. Al doilea argument specifică funcția care va fi apelată la fiecare iterație. A treia intrare este indexul de început al colecției. Deoarece funcția _.find() iterează peste fiecare element dintr-o colecție.
11. _.groupBy
Creați un obiect numit după rezultatul unei funcții (sau un nume de proprietate selectat aleatoriu), fiecare valoare fiind o matrice de obiecte cu aceeași cheie.
12. _.set
Metoda _.set() este inversul metodei _.get(). Acesta va schimba valoarea unui element pe o anumită cale. Obiectul sau matricea este primul parametru, calea este al doilea, iar valoarea pe care doriți să o setați este a treia.
13. _.imbinare
Funcționează în mod similar cu Object.assign, cu excepția faptului că recurge adânc în structura de bază pentru a actualiza obiectele mai profunde, în loc să le înlocuiască.
14. ._debavurare
Acesta este un exemplu destul de simplu. Toate „combinarea semnelor diacritice” sunt eliminate. Astfel „é” devine „e”. Când există internaționalizare și localizare, este o bună practică să debavurați textul pentru funcțiile de căutare.
15. _.debounce
Aceasta este una dintre cele mai eficiente strategii Lodash. De asemenea, ar putea fi dificil să înțelegeți ce face și când ar trebui să îl utilizați. Metoda _.debounce() returnează o funcție. Funcția metodei _.debounce() va întârzia invocarea până când a trecut un anumit număr de milisecunde de la ultima invocare a funcției.
Concluzie
Lodash este o extensie puternică a limbajului JavaScript. Cu un efort minim, se poate construi un cod succint și eficient. Lodash este, de asemenea, complet modular. Deși unele dintre funcționalitățile sale pot fi în cele din urmă depreciate, cred că va oferi în continuare numeroase beneficii dezvoltatorilor, impulsionând și evoluția limbajului JS.
Sper că aceste câteva capabilități Lodash vă ajută să vedeți cât de puternic poate fi Lodash atunci când lucrați cu matrice, obiecte și colecții. Puteți vizita documentaţie pentru a explora o multitudine de alte opțiuni pe care le are de oferit.
Lasă un comentariu