Od vývojára sa vyžaduje nielen dokončenie úloh, ale je tiež potrebné, aby úlohy vykonával efektívnejšie. V súčasnosti je v JavaScripte dostupných niekoľko knižníc, ktoré vývojárom uľahčujú prácu s premennými. V tomto návode sa naučíme, ako používať najbežnejšie funkcie knižnice Lodash.
Ak ste ešte Lodash nevyskúšali, teraz je ten moment. Lodash je súčasný balík nástrojov JavaScript, ktorý zjednodušuje prácu s poľami, celými číslami, objektmi, textami a inými typmi údajov.
Pomôže vám pri práci s rôznymi druhmi objektov a ušetrí vám čas tým, že eliminuje potrebu kódovania generických metód. Váš kód bude čistejší s menším počtom riadkov a bude fungovať vo všetkých prehliadačoch. Ak ho ešte nepoužívate, mali by ste to dôkladne zvážiť.
Neprijatie Lodash je obrovskou stratou pre naše kódové základne JavaScript. Je to bezchybné a elegantné riešenie bežných výziev, ktoré v práci máme, a jeho používanie len urobí náš kód čitateľnejším a spravovateľnejším.
Poďme sa ponoriť do niektorých populárnejších (alebo nie!) funkcií Lodash a zistite, aká mimoriadne užitočná a krásna je táto knižnica.
1. _.triedenýUniq
Všetky duplicitné hodnoty sa s touto hodnotou nevrátia. Pretože je to len pre triedené polia, používa sa hlavne z dôvodu rýchlosti. To je užitočné iba vtedy, ak máte čo do činenia s veľkým poľom. Ak chcete zvýšiť rýchlosť, zoraďte pole a použite metódy, ktoré lepšie fungujú s triedenými poľami.
Lodash má množstvo ďalších funkcií, ktoré sú podobné tejto. Môžete sa pozrieť na .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sorted,UniqBy.Byq.Byq.
2. _.znížiť
_.reduce je podobná funkcii filtra. Jediný rozdiel je v tom, že máte možnosť výberu formy vráteného objektu. Je to normálne, ak nerozumiete tomu, čo hovorím; je na to príklad.
V podstate vraciame nový objekt obsahujúci používateľov klasifikovaných podľa veku, ale len pre tých vo veku 18 až 59 rokov. Táto pomocná funkcia Lodash je jednou z najčastejšie používaných. Je tiež súčasťou ES6. Chcel by som tiež poukázať na dve typické chyby: nezabudnite vrátiť výsledok na konci funkcie a zadať predvolenú hodnotu pre výsledok ako tretí parameter (tu).
3. _.získať a ._nastaviť
V tomto prípade vás trochu oklamem tým, že ukážem dve funkcie, ktoré vykonávajú takmer to isté. _.get vráti hodnotu vlastnosti z objektu a _.set, dobre, uhádli ste, nastaví vlastnosť s hodnotou. Nič jedinečné, okrem toho, že k nehnuteľnosti sa môžete dostať cez jej cestu.
Pozrime sa na príklad.
Ak cesta počas volania _.set neexistuje, vygeneruje sa. Nebudú sa vyskytovať žiadne ďalšie chyby typu „Nedá sa nastaviť nedefinované položky vlastnosti“. Ak cesta neexistuje, _.get namiesto chyby vráti nedefinované. Ak sa cesta zmení na nedefinovanú, môžete zadať aj predvolenú hodnotu (tretí parameter).
4. _.nájsť
Namiesto cyklovania cez pole na nájdenie jedného objektu môžeme použiť _.find. To je dobré, ale nie je to jediné, čo _.find dokáže. Pomocou jediného riadku kódu môžete tiež objaviť objekt pomocou mnohých vlastností. Skontrolovať to!
5. _.keyBy
Jedným z mojich obľúbených je _.keyBy. Je to celkom užitočné pri pokuse o získanie objektu s určitým atribútom. Predpokladajme, že máme 100 blogových záznamov a chceme získať ten s ID „34abc“. Ako to urobíme? Poďme sa pozrieť čo sa stalo! Táto metóda vám môže pomôcť usporiadať kolekciu objektov, ak ju server poskytuje ako pole. Ako druhý argument možno použiť aj funkciu.
6. _.pre každého
Táto metóda bude iterovať cez pole objektov jeden po druhom, čo vám umožní robiť akúkoľvek logiku, ktorú chcete. V tomto prvom príklade prejdem zoznamom používateľských objektov a zlúčim ich mená a priezviská, aby som vytvoril novú vlastnosť s názvom fullName.
forKaždý z nich akceptuje dva parametre. Prvým parametrom je pole, nad ktorým prechádzame slučkou. Druhým argumentom je funkcia iterácie, pričom prvý parameter je referencia na individuálnu položku a druhý je aktuálny index iterácie.
7. _.mapa
Mapa, podobne ako pre každý, iteruje cez pole hodnôt. Na druhej strane funkcia map vracia nové pole hodnôt, ktoré poskytuje funkcia iterácie. Používame rovnakú kolekciu používateľov ako v našom príklade pre každý tu. Môžeme použiť _.map na vygenerovanie novej premennej, ktorá má sploštené pole úplných mien všetkých používateľov.
8. _.rozdiel
Funkcia rozdielu vytvorí nové pole hodnôt, ktoré sa líšia medzi prvým a druhým poľom. Je dôležité poznamenať, že umiestnenie argumentov ovplyvňuje výsledky.
9. _.dostať
Funkcia _.get() nám môže pomôcť pri lokalizácii prvku v objekte. Môžeme nastaviť predvolenú hodnotu pre funkciu _.get(), ktorá sa vráti, ak sa prvok nenájde na zadanej ceste. Funkcia _.get() má tri parametre, z ktorých prvý je objekt, z ktorého chceme získať prvok. Cesta je druhá. Tretia hodnota je predvolená hodnota, ktorú chceme vrátiť, ak prvok nemožno nájsť.
10. _.nájsť
Funkcia _find() sa môže zdať identická s metódou _.get(). Funkcia _.find() rovnako ako metóda _.get() akceptuje tri parametre. Na rozdiel od metódy _.get() však prvým argumentom môže byť pole alebo objekt. Druhý argument určuje funkciu, ktorá sa bude volať pri každej iterácii. Tretím vstupom je index začiatku kolekcie. Pretože funkcia _.find() iteruje každý prvok v kolekcii.
11. _.groupBy
Vytvorte objekt pomenovaný podľa výsledku funkcie (alebo náhodne vybratého názvu vlastnosti), pričom každá hodnota je pole objektov s rovnakým kľúčom.
12. _.sad
Metóda _.set() je inverzná metóda k metóde _.get(). Zmení hodnotu prvku na danej ceste. Objekt alebo pole je prvý parameter, cesta je druhý a hodnota, ktorú chcete nastaviť, je tretí.
13. _.zlúčiť
Funguje podobne ako Object.assign, s výnimkou toho, že sa vracia hlboko do základnej štruktúry, aby aktualizoval hlbšie objekty namiesto ich nahradenia.
14. ._odhrotovanie
Toto je pomerne jednoduchý príklad. Všetky „kombinované diakritické znamienka“ sú odstránené. Z „é“ sa tak stane „e“. Ak dôjde k internacionalizácii a lokalizácii, je dobrou praxou odstrániť otrepy z textu pre funkcie vyhľadávania.
15. _.odskok
Toto je jedna z najúčinnejších stratégií Lodash. Môže byť tiež ťažké pochopiť, čo robí a kedy by ste ho mali použiť. Metóda _.debounce() vracia funkciu. Funkcia metódy _.debounce() odloží vyvolanie, kým neuplynie zadaný počet milisekúnd od posledného vyvolania funkcie.
záver
Lodash je výkonné rozšírenie jazyka JavaScript. S minimálnym úsilím je možné vytvoriť stručný a efektívny kód. Lodash je tiež úplne modulárny. Hoci niektoré z jeho funkcií môžu byť v konečnom dôsledku zastarané, verím, že bude stále poskytovať množstvo výhod pre vývojárov a zároveň poháňať vývoj jazyka JS.
Dúfam, že týchto niekoľko funkcií Lodash vám pomôže zistiť, aký silný môže byť Lodash pri práci s poľami, objektmi a kolekciami. Môžete navštíviť dokumentácie preskúmať množstvo ďalších možností, ktoré ponúka.
Nechaj odpoveď