Ne samo da je potrebno da programer dovrši zadatke, već je potrebno i da ih radi na učinkovitiji način. Danas je u JavaScriptu dostupno nekoliko biblioteka koje programerima olakšavaju rad s varijablama. Naučit ćemo kako koristiti najčešće funkcije knjižnice Lodash u ovom vodiču.
Ako još niste probali Lodash, sada je trenutak. Lodash je suvremeni JavaScript uslužni paket koji pojednostavljuje rad s nizovima, cijelim brojevima, objektima, tekstovima i drugim vrstama podataka.
Pomoći će vam u radu s raznim vrstama objekata i uštedjet će vam vrijeme eliminirajući potrebu za kodiranjem generičkih metoda. Vaš će kod biti čišći s manje redaka i funkcionirat će u svim preglednicima. Ako ga već ne koristite, trebali biste ga pažljivo razmotriti.
Neusvajanje Lodasha veliki je gubitak za naše JavaScript baze koda. To je elegantno rješenje bez bugova za uobičajene izazove koje imamo na poslu, a njegovo korištenje samo će učiniti naš kod čitljivijim i upravljivijim.
Zadubimo se u neke od popularnijih (ili ne!) Lodash funkcija i otkrijmo koliko je ova knjižnica iznimno korisna i lijepa.
1. _.sortedUniq
Sve duplicirane vrijednosti neće biti vraćene s ovom. Budući da je samo za sortirane nizove, ovo se uglavnom koristi iz razloga brzine. Ovo je korisno samo ako imate posla s velikim nizom. Ako želite poboljšati brzinu, sortirajte svoj niz i koristite metode koje bolje rade s sortiranim nizovima.
Lodash ima niz drugih funkcija koje su slične ovoj. Možete pogledati .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqUniqBy, .sortedUniqBy, .
2. _.smanjiti
_.reduce sličan je funkciji filtra. Jedina razlika je u tome što imate mogućnost odabira oblika vraćenog objekta. Normalno je, ako ne shvaćate što govorim; postoji primjer za to.
U biti, vraćamo novi objekt koji sadrži korisnike razvrstane prema dobi, ali samo za one u dobi od 18 do 59 godina. Ova pomoćna funkcija Lodash jedna je od najčešće korištenih. Također je uključen u ES6. Također bih želio istaknuti dvije tipične greške: ne zaboravite vratiti rezultat na kraju funkcije i navesti zadanu vrijednost za rezultat kao treći parametar (ovdje).
3. _.dobiti i ._set
Za ovu ću vas malo prevariti pokazujući dvije funkcije koje obavljaju gotovo istu stvar. _.get vraća vrijednost svojstva iz objekta, a _.set, pa, pogodili ste, postavlja svojstvo s vrijednošću. Ništa jedinstveno, osim što svojstvu možete pristupiti putem njegovog puta.
Pogledajmo primjer.
Ako put ne postoji tijekom poziva _.set, bit će generiran. Više neće biti pogrešaka "Ne mogu postaviti svojstvo 'stavke' nedefiniranih". Ako put ne postoji, _.get će umjesto pogreške vratiti nedefinirano. Ako se put razriješi na nedefiniran, možete također dati zadanu vrijednost (treći parametar).
4. _.pronaći
Umjesto petlje kroz niz kako bismo pronašli jedan objekt, možemo koristiti _.find. To je dobro, ali to nije jedino što _.find može učiniti. S jednom linijom koda također možete otkriti objekt korištenjem brojnih svojstava. Provjerite!
5. _.keyBy
Jedan od mojih omiljenih je _.keyBy. Prilično je korisno kada pokušavate dobiti objekt s određenim atributom. Pretpostavimo da imamo 100 unosa na blogu i želimo preuzeti onaj s ID-om "34abc". Kako ćemo to učiniti? Da vidimo što će se dogoditi! Ova metoda vam može pomoći da uredite kolekciju objekata ako je poslužitelj nudi kao niz. Funkcija se također može koristiti kao drugi argument.
6. _.zaSvakog
Ova metoda će iterirati niz objekata jedan po jedan, dopuštajući vam da radite kakvu god logiku želite. U ovom prvom primjeru, preći ću preko popisa korisničkih objekata, spajajući njihova imena i prezimena kako bih stvorio novo svojstvo pod nazivom fullName.
zaSvaka od njih prihvaća dva parametra. Niz preko kojeg radimo petlju je prvi parametar. Drugi argument je funkcija ponavljanja, pri čemu je prvi parametar referenca pojedinačne stavke, a drugi je trenutni indeks iteracije.
7. _.karta
Map, kao i forEach, ponavlja niz vrijednosti. Funkcija map, s druge strane, vraća novi niz vrijednosti koje daje funkcija iteracije. Koristimo istu kolekciju korisnika kao u našem primjeru forEach ovdje. Možemo koristiti _.map za generiranje nove varijable koja ima spljošteni niz potpunih imena svih korisnika.
8. _.razlika
Funkcija razlike će proizvesti novi niz vrijednosti koje se razlikuju između prvog i drugog niza. Važno je napomenuti da mjesta argumenata utječu na ishod.
9. _.dobiti
Funkcija _.get() može nam pomoći u lociranju elementa unutar objekta. Možemo postaviti zadanu vrijednost za funkciju _.get() da se vrati ako element nije pronađen na dostavljenoj stazi. Funkcija _.get() uzima tri parametra, od kojih je prvi objekt iz kojeg želimo dobiti element. Put je drugi. Treća vrijednost je zadana vrijednost koju želimo vratiti ako se element ne može locirati.
10. _.pronaći
Funkcija _find() može izgledati identična metodi _.get(). Funkcija _.find(), kao i metoda _.get(), prihvaća tri parametra. Međutim, za razliku od metode _.get(), prvi argument može biti niz ili objekt. Drugi argument specificira funkciju koja će biti pozvana na svakoj iteraciji. Treći ulaz je početni indeks zbirke. Budući da funkcija _.find() ponavlja svaki element u kolekciji.
11. _.groupBy
Napravite objekt nazvan rezultatom funkcije (ili nasumično odabranim imenom svojstva), pri čemu je svaka vrijednost niz objekata s istim ključem.
12. _.set
Metoda _.set() inverzna je metodi _.get(). Promijenit će vrijednost elementa na zadanoj stazi. Objekt ili niz je prvi parametar, put je drugi, a vrijednost koju želite postaviti je treća.
13. _.spajati
Funkcionira slično kao Object.assign, osim što se vraća duboko u temeljnu strukturu kako bi ažurirao dublje objekte umjesto da ih zamijeni.
14. ._skidanje srha
Ovo je prilično jednostavan primjer. Uklanjaju se svi "kombinirajući dijakritičke oznake". Tako "é" postaje "e". Kada postoji internacionalizacija i lokalizacija, dobra je praksa ukloniti rubove teksta za funkcije pretraživanja.
15. _.odbijati
Ovo je jedna od najučinkovitijih Lodash strategija. Također bi moglo biti teško shvatiti što radi i kada biste ga trebali koristiti. Metoda _.debounce() vraća funkciju. Funkcija metode _.debounce() odgodit će pozivanje sve dok ne prođe određeni broj milisekundi od zadnjeg pozivanja funkcije.
Zaključak
Lodash je moćno proširenje JavaScript jezika. Uz minimalan trud, može se izgraditi sažet i učinkovit kod. Lodash je također potpuno modularan. Iako bi neke od njegovih funkcionalnosti u konačnici mogle biti zastarjele, vjerujem da će i dalje pružati brojne prednosti programerima, a istovremeno će pokretati evoluciju JS jezika.
Nadam se da će vam ovih nekoliko Lodash mogućnosti pomoći da vidite koliko Lodash može biti moćan kada radite s nizovima, objektima i kolekcijama. Možete posjetiti dokumentacija istražiti mnoštvo drugih opcija koje nudi.
Ostavi odgovor