Kūrėjas ne tik privalo atlikti užduotis, bet ir atlikti užduotis efektyviau. Šiandien yra keletas „JavaScript“ bibliotekų, kurios palengvina kūrėjų darbą su kintamaisiais. Šioje pamokoje sužinosime, kaip panaudoti dažniausiai pasitaikančias Lodash bibliotekos funkcijas.
Jei dar neišbandėte „Lodash“, dabar pats laikas. „Lodash“ yra šiuolaikiškas „JavaScript“ paslaugų paketas, kuris supaprastina darbą su masyvais, sveikaisiais skaičiais, objektais, tekstais ir kitais duomenų tipais.
Tai padės jums susidoroti su įvairių rūšių objektais ir sutaupys jūsų laiko, nes nebereikės koduoti bendrųjų metodų. Jūsų kodas bus švaresnis, su mažiau eilučių ir veiks visose naršyklėse. Jei jo dar nenaudojate, turėtumėte tai atidžiai apsvarstyti.
„Lodash“ nepriėmimas yra didžiulis nuostolis mūsų „JavaScript“ kodų bazėms. Tai be klaidų ir elegantiškas įprastų iššūkių, su kuriais susiduriame darbe, sprendimas, o naudojant jį mūsų kodas bus tik lengviau skaitomas ir valdomas.
Pasigilinkime į kai kurias populiaresnes (arba ne!) Lodash funkcijas ir sužinokime, kokia nepaprastai naudinga ir graži yra ši biblioteka.
1. _.rūšiuotasUniq
Visos pasikartojančios reikšmės nebus grąžintos su šia. Kadangi jis skirtas tik surūšiuotiems masyvams, jis daugiausia naudojamas greičio sumetimais. Tai naudinga tik tuo atveju, jei turite reikalų su dideliu masyvu. Jei norite padidinti greitį, surūšiuokite masyvą ir naudokite metodus, kurie geriau veikia su surūšiuotais masyvais.
„Lodash“ turi daugybę kitų panašių funkcijų. Galite peržiūrėti .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedBUniqBy, .
2. _.sumažinti
_.reduce yra panašus į filtro funkciją. Vienintelis skirtumas yra tas, kad jūs turite galimybę pasirinkti grąžinamo objekto formą. Tai normalu, jei nesupranti, ką sakau; yra tam pavyzdys.
Iš esmės grąžiname naują objektą, kuriame yra naudotojai, suskirstyti pagal amžių, bet tik tiems, kurių amžius nuo 18 iki 59 metų. Ši Lodash pagalbinė funkcija yra viena dažniausiai naudojamų. Jis taip pat įtrauktas į ES6. Taip pat norėčiau atkreipti dėmesį į dvi įprastas klaidas: nepamirškite grąžinti rezultato funkcijos pabaigoje ir pateikti numatytąją rezultato reikšmę kaip trečiąjį parametrą (čia).
3. _.gauti ir ._nustatyti
Šiuo atveju aš jus šiek tiek apgausiu parodydamas dvi funkcijas, kurios atlieka beveik tą patį. _.get grąžina objekto nuosavybės vertę, o _.set, na, atspėjote, nustato ypatybę su verte. Nieko unikalaus, išskyrus tai, kad galite pasiekti nuosavybę per jos kelią.
Pažiūrėkime į pavyzdį.
Jei kelias neegzistuoja skambinant _.set, jis bus sugeneruotas. Nebebus klaidų „Neįmanoma nustatyti neapibrėžtų nuosavybės „elementų“. Jei kelio nėra, _.get vietoj klaidos pateiks neapibrėžtą. Jei kelias tampa neapibrėžtas, taip pat galite pateikti numatytąją reikšmę (trečiasis parametras).
4. _.rasti
Užuot peržiūrėję masyvą, norėdami rasti vieną objektą, galime naudoti _.find. Tai gerai, bet tai nėra vienintelis dalykas, kurį _.find gali padaryti. Naudodami vieną kodo eilutę taip pat galite atrasti objektą naudodami daugybę savybių. Pasižiūrėk!
5. _.keyBy
Vienas iš mano mėgstamiausių yra _.keyBy. Tai gana naudinga bandant gauti objektą su tam tikru atributu. Tarkime, kad turime 100 tinklaraščio įrašų ir norime paimti tą, kurio ID „34abc“. Kaip mes tai padarysime? Pažiūrėkim, kas nutiks! Šis metodas gali padėti sutvarkyti objektų rinkinį, jei serveris pateikia jį kaip masyvą. Funkcija taip pat gali būti naudojama kaip antrasis argumentas.
6. _.Kiekvienam
Šis metodas pakartos objektų masyvą po vieną, leisdamas daryti bet kokią norimą logiką. Šiame pirmame pavyzdyje peržiūrėsiu vartotojų objektų sąrašą, sujungdamas jų vardus ir pavardes, kad sukurčiau naują nuosavybę pavadinimu fullName.
Kiekvienas iš jų priima du parametrus. Masyvas, kurį peržiūrime, yra pirmasis parametras. Antrasis argumentas yra iteracijos funkcija, o pirmasis parametras yra atskiro elemento nuoroda, o antrasis – dabartinis iteracijos indeksas.
7. _.žemėlapis
Žemėlapis, kaip ir forEach, kartojasi per daugybę verčių. Kita vertus, žemėlapio funkcija grąžina naują reikšmių masyvą, kurį teikia iteravimo funkcija. Naudojame tą pačią vartotojų kolekciją, kaip ir kiekviename pavyzdyje. Galime naudoti _.map, kad sugeneruotume naują kintamąjį, turintį suplotą visų vartotojų vardų masyvą.
8. _.skirtumas
Skirtumo funkcija sukurs naują reikšmių masyvą, kuris skirsis tarp pirmojo ir antrojo masyvų. Labai svarbu pažymėti, kad argumentų vieta turi įtakos rezultatams.
9. _.gauti
Funkcija _.get() gali padėti mums nustatyti elemento vietą objekte. Galime nustatyti numatytąją funkcijos _.get() reikšmę, kuri grąžinama, jei pateiktame kelyje elementas nerastas. Funkcija _.get() turi tris parametrus, iš kurių pirmasis yra objektas, iš kurio norime gauti elementą. Kelias yra antras. Trečioji reikšmė yra numatytoji vertė, kurią norime grąžinti, jei elemento rasti nepavyksta.
10. _.rasti
Funkcija _find() gali atrodyti identiška metodui _.get(). Funkcija _.find(), kaip ir metodas _.get(), priima tris parametrus. Tačiau, skirtingai nuo metodo _.get(), pirmasis argumentas gali būti masyvas arba objektas. Antrasis argumentas nurodo funkciją, kuri bus iškviesta kiekvienoje iteracijoje. Trečioji įvestis yra kolekcijos pradžios indeksas. Kadangi funkcija _.find() kartojasi per kiekvieną kolekcijos elementą.
11. _.groupBy
Sukurkite objektą, pavadintą pagal funkcijos rezultatą (arba atsitiktinai pasirinktą ypatybės pavadinimą), o kiekviena reikšmė yra objektų su tuo pačiu raktu masyvas.
12. _.nustatyti
Metodas _.set() yra atvirkštinis metodui _.get(). Tai pakeis elemento vertę tam tikrame kelyje. Objektas arba masyvas yra pirmasis parametras, kelias yra antras, o reikšmė, kurią norite nustatyti, yra trečioji.
13. _.sujungti
Jis veikia panašiai kaip Object.assign, išskyrus tai, kad giliai įsilieja į pagrindinę struktūrą, kad atnaujintų gilesnius objektus, o ne juos pakeistų.
14. ._atsiurbti
Tai gana aiškus pavyzdys. Visi „sujungimo diakritiniai ženklai“ pašalinami. Taigi „é“ tampa „e“. Kai vyksta internacionalizavimas ir lokalizavimas, gera praktika yra pašalinti tekstą paieškos funkcijoms.
15. _.atsimušti
Tai viena iš efektyviausių Lodash strategijų. Taip pat gali būti sunku suvokti, ką jis daro ir kada turėtumėte jį naudoti. Metodas _.debounce() grąžina funkciją. _.debounce() metodo funkcija atidės iškvietimą, kol praeis nurodytas milisekundžių skaičius nuo paskutinio funkcijos iškvietimo.
Išvada
„Lodash“ yra galingas „JavaScript“ kalbos plėtinys. Su minimaliomis pastangomis galima sukurti glaustą ir efektyvų kodą. „Lodash“ taip pat yra visiškai modulinis. Nors kai kurios jo funkcijos galiausiai gali būti nebenaudojamos, manau, kad ji vis tiek suteiks daug naudos kūrėjams, tuo pačiu skatindama JS kalbos raidą.
Tikiuosi, kad šios kelios „Lodash“ galimybės padės suprasti, koks galingas „Lodash“ gali būti dirbant su masyvais, objektais ir kolekcijomis. Galite aplankyti dokumentacija ištirti daugybę kitų jo siūlomų galimybių.
Palikti atsakymą