Od razvijalca se ne zahteva le, da dokonča naloge, ampak mora tudi naloge opravljati na učinkovitejši način. Danes je v JavaScriptu na voljo več knjižnic, ki razvijalcem olajšajo delo s spremenljivkami. V tej vadnici se bomo naučili, kako uporabljati najpogostejše funkcije knjižnice Lodash.
Če še niste preizkusili Lodasha, je zdaj pravi trenutek. Lodash je sodoben paket pripomočkov JavaScript, ki poenostavlja delo z nizi, celimi števili, predmeti, besedili in drugimi vrstami podatkov.
Pomagal vam bo pri ravnanju z različnimi vrstami predmetov in vam bo prihranil čas z odpravo potrebe po kodiranju splošnih metod. Vaša koda bo čistejša z manj vrsticami in bo delovala v vseh brskalnikih. Če ga še ne uporabljate, ga morate skrbno pretehtati.
Neprevzeti Lodash je velika izguba za naše kodne baze JavaScript. Je elegantna in brez napak rešitev za običajne izzive, ki jih imamo pri delu, in z njeno uporabo bo naša koda le bolj berljiva in obvladljiva.
Poglobimo se v nekatere bolj priljubljene (ali ne!) funkcije Lodash in odkrijmo, kako izjemno uporabna in lepa je ta knjižnica.
1. _.sortedUniq
Vse podvojene vrednosti ne bodo vrnjene s to vrednostjo. Ker je samo za razvrščene matrike, se to uporablja predvsem zaradi hitrosti. To je uporabno le, če imate opravka z velikim nizom. Če želite izboljšati hitrost, razvrstite svoje matriko in uporabite metode, ki bolje delujejo z razvrščenimi nizi.
Lodash ima številne druge funkcije, ki so podobne tej. Ogledate si lahko .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqUniqBy, .sortedUniqUniqBy, .
2. _.zmanjšati
_.reduce je podoben funkciji filtra. Edina razlika je v tem, da imate možnost izbire oblike vrnjenega predmeta. To je normalno, če ne razumete, kaj govorim; obstaja zgled za to.
V bistvu vrnemo nov predmet, ki vsebuje uporabnike, razvrščene po starosti, vendar samo za tiste, stare od 18 do 59 let. Ta funkcija pomočnika Lodash je ena najpogosteje uporabljenih. Vključen je tudi v ES6. Prav tako bi želel opozoriti na dve tipični zmoti: ne pozabite vrniti rezultata ob zaključku funkcije in navesti privzeto vrednost za rezultat kot tretji parameter (tukaj).
3. _.get in ._set
Za to vas bom nekoliko prelisičil s prikazom dveh funkcij, ki opravljata skoraj isto stvar. _.get vrne vrednost lastnosti iz predmeta, _.set pa, uganili ste, nastavi lastnost z vrednostjo. Nič edinstvenega, razen da lahko do lastnosti dostopate prek njene poti.
Poglejmo si primer.
Če pot med klicem _.set ne obstaja, bo ustvarjena. Ne bo več napak »Ne morem nastaviti lastnosti 'elementov' nedefiniranih«. Če pot ne obstaja, bo _.get namesto napake vrnil nedefinirano. Če se pot razreši v nedefinirano, lahko navedete tudi privzeto vrednost (tretji parameter).
4. _.najdi
Namesto zanke skozi matriko, da bi našli en sam objekt, lahko uporabimo _.find. To je dobro, vendar to ni edina stvar, ki jo lahko stori _.find. Z eno samo vrstico kode lahko odkrijete tudi predmet z uporabo številnih lastnosti. Preverite!
5. _.keyBy
Eden mojih najljubših je _.keyBy. Zelo uporaben je pri poskusu pridobivanja predmeta z določenim atributom. Predpostavimo, da imamo 100 vnosov v blog in želimo zgrabiti tistega z ID-jem »34abc«. Kako bomo to naredili? Poglejmo, kaj se bo zgodilo! Ta metoda vam lahko pomaga urediti zbirko objektov, če jo strežnik zagotovi kot matriko. Funkcijo lahko uporabimo tudi kot drugi argument.
6. _.za vsakega
Ta metoda bo ponovila niz predmetov enega za drugim, kar vam bo omogočilo, da naredite poljubno logiko. V tem prvem primeru bom pregledal seznam uporabniških objektov in združil njihova imena in priimke, da bom ustvaril novo lastnost, imenovano fullName.
forEach od teh sprejema dva parametra. Niz, ki ga zankamo, je prvi parameter. Drugi argument je funkcija ponovitve, pri čemer je prvi parameter referenca posameznega elementa, drugi pa trenutni indeks ponovitve.
7. _.zemljevid
Map, tako kot forEach, ponavlja niz vrednosti. Funkcija zemljevida po drugi strani vrne nov niz vrednosti, ki jih zagotavlja funkcija iteracije. Uporabljamo isto zbirko uporabnikov kot v našem primeru forEach tukaj. Uporabimo lahko _.map za generiranje nove spremenljivke, ki ima sploščen niz popolnih imen vseh uporabnikov.
8. _.razlika
Funkcija razlike bo ustvarila nov niz vrednosti, ki se razlikujejo med prvim in drugim nizom. Pomembno je omeniti, da lokacije argumentov vplivajo na rezultate.
9. _.dobi
Funkcija _.get() nam lahko pomaga pri iskanju elementa znotraj predmeta. Za vrnitev funkcije _.get() lahko nastavimo privzeto vrednost, če element ni najden na podani poti. Funkcija _.get() vzame tri parametre, od katerih je prvi objekt, iz katerega želimo pridobiti element. Pot je druga. Tretja vrednost je privzeta vrednost, ki jo želimo vrniti, če elementa ni mogoče najti.
10. _.najdi
Funkcija _find() se lahko zdi identična metodi _.get(). Funkcija _.find() tako kot metoda _.get() sprejema tri parametre. Vendar pa je za razliko od metode _.get() lahko prvi argument matrika ali predmet. Drugi argument določa funkcijo, ki bo poklicana pri vsaki ponovitvi. Tretji vnos je začetni indeks zbirke. Ker funkcija _.find() ponavlja vsak element v zbirki.
11. _.groupBy
Ustvarite predmet, poimenovan po rezultatu funkcije (ali naključno izbranem imenu lastnosti), pri čemer je vsaka vrednost niz predmetov z istim ključem.
12. _.set
Metoda _.set() je obratna od metode _.get(). Spremenil bo vrednost elementa na dani poti. Objekt ali matrika je prvi parameter, pot je drugi, vrednost, ki jo želite nastaviti, pa je tretja.
13. _.združi
Deluje podobno kot Object.assign, le da se ponavlja globoko v osnovno strukturo, da posodobi globlje objekte, namesto da jih nadomesti.
14. ._odstranjevanje
To je precej preprost primer. Vse "kombinirane diakritične oznake" so odstranjene. Tako "é" postane "e". Kadar obstajata internacionalizacija in lokalizacija, je dobra praksa, da besedilo odstranimo za iskalne funkcije.
15. _.odboj
To je ena najučinkovitejših strategij Lodash. Morda bo tudi težko razumeti, kaj počne in kdaj bi ga morali uporabiti. Metoda _.debounce() vrne funkcijo. Funkcija metode _.debounce() bo odložila priklic, dokler ne mine določeno število milisekund, odkar je bila funkcija nazadnje priklicana.
zaključek
Lodash je močna razširitev jezika JavaScript. Z minimalnim naporom lahko zgradite jedrnato in učinkovito kodo. Lodash je tudi popolnoma modularen. Čeprav bodo nekatere njegove funkcionalnosti na koncu morda opuščene, verjamem, da bo razvijalcem še vedno zagotavljal številne prednosti, obenem pa spodbujal razvoj jezika JS.
Upam, da vam bo teh nekaj zmožnosti Lodash pomagalo videti, kako močan je lahko Lodash pri delu z nizi, predmeti in zbirkami. Lahko obiščete Dokumentacija raziskati številne druge možnosti, ki jih ponuja.
Pustite Odgovori