Izstrādātājam ir ne tikai jāizpilda uzdevumi, bet arī jāveic uzdevumi efektīvāk. Mūsdienās JavaScript ir pieejamas vairākas bibliotēkas, kas izstrādātājiem atvieglo darbu ar mainīgajiem. Šajā apmācībā mēs uzzināsim, kā izmantot Lodash bibliotēkas visizplatītākās funkcijas.
Ja vēl neesat izmēģinājis Lodash, tagad ir īstais brīdis. Lodash ir mūsdienīga JavaScript utilīta pakotne, kas atvieglo darbu ar masīviem, veseliem skaitļiem, objektiem, tekstiem un citiem datu tipiem.
Tas palīdzēs jums rīkoties ar dažāda veida objektiem un ietaupīs jūsu laiku, novēršot vajadzību kodēt vispārīgas metodes. Jūsu kods būs tīrāks ar mazāk rindiņu un darbosies visās pārlūkprogrammās. Ja jūs to vēl neizmantojat, jums tas rūpīgi jāapsver.
Lodash nepieņemšana ir milzīgs zaudējums mūsu JavaScript kodu bāzēm. Tas ir bez kļūdām un elegants risinājums bieži sastopamām problēmām darbā, un tā izmantošana padarīs mūsu kodu tikai lasāmāku un pārvaldāmāku.
Iedziļināsimies dažās populārākajās (vai ne!) Lodash funkcijās un atklāsim, cik šī bibliotēka ir ārkārtīgi noderīga un skaista.
1. _.sortedUnik
Visas dublētās vērtības netiks atgrieztas kopā ar šo vērtību. Tā kā tas ir paredzēts tikai sakārtotiem masīviem, tas galvenokārt tiek izmantots ātruma apsvērumu dēļ. Tas ir noderīgi tikai tad, ja jums ir darīšana ar lielu masīvu. Ja vēlaties uzlabot ātrumu, kārtojiet masīvu un izmantojiet metodes, kas labāk darbojas ar sakārtotiem masīviem.
Lodash ir vairākas citas funkcijas, kas ir līdzīgas šai. Varat apskatīt .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedB .sortedUniqBy.
2. _.samazināt
_.reduce ir līdzīga filtra funkcijai. Vienīgā atšķirība ir tāda, ka jums ir iespēja izvēlēties atgrieztā objekta formu. Tas ir normāli, ja tu nesaproti, ko es saku; tam ir piemērs.
Būtībā mēs atgriežam jaunu objektu, kurā ir lietotāji, kas klasificēti pēc vecuma, bet tikai tiem, kas ir vecumā no 18 līdz 59 gadiem. Šī Lodash palīga funkcija ir viena no visbiežāk izmantotajām. Tas ir iekļauts arī ES6. Es arī vēlos norādīt uz divām tipiskām kļūdām: neaizmirstiet atgriezt rezultātu funkcijas beigās un norādīt rezultāta noklusējuma vērtību kā trešo parametru (šeit).
3. _.get un ._set
Šajā gadījumā es jūs nedaudz apmānīšu, parādot divas funkcijas, kas veic gandrīz vienu un to pašu. _.get atgriež rekvizīta vērtību no objekta, un _.set, jūs uzminējāt, iestatiet rekvizītu ar vērtību. Nekas unikāls, izņemot to, ka varat piekļūt īpašumam, izmantojot tā ceļu.
Apskatīsim piemēru.
Ja ceļš neeksistē, izsaucot _.set, tas tiks ģenerēts. Vairs nebūs kļūdu “Nevar iestatīt nedefinētu rekvizītu “vienumus”. Ja ceļš neeksistē, _.get kļūdas vietā atgriezīs nedefinētu. Ja ceļš kļūst par nenoteiktu, varat arī norādīt noklusējuma vērtību (trešo parametru).
4. _.atrast
Tā vietā, lai meklētu masīvu, lai atrastu vienu objektu, mēs varam izmantot _.find. Tas ir labi, bet tas nav vienīgais, ko _.find var darīt. Izmantojot vienu koda rindiņu, jūs varat arī atklāt objektu, izmantojot daudzas īpašības. Pārbaudiet to!
5. _.keyBy
Viens no maniem iecienītākajiem ir _.keyBy. Tas ir diezgan noderīgi, mēģinot iegūt objektu ar noteiktu atribūtu. Pieņemsim, ka mums ir 100 emuāra ieraksti un mēs vēlamies iegūt tos ar ID “34abc”. Kā mēs to darīsim? Paskatīsimies, kas notiks! Šī metode var palīdzēt sakārtot objektu kolekciju, ja serveris nodrošina to kā masīvu. Funkciju var izmantot arī kā otro argumentu.
6. _.katram
Šī metode atkārtos objektu masīvu pa vienam, ļaujot jums darīt visu, ko vēlaties. Šajā pirmajā piemērā es apskatīšu lietotāju objektu sarakstu, apvienojot to vārdus un uzvārdus, lai izveidotu jaunu rekvizītu ar nosaukumu fullName.
Katrs no tiem pieņem divus parametrus. Masīvs, kuru pārskatām, ir pirmais parametrs. Otrais arguments ir iterācijas funkcija, kur pirmais parametrs ir atsevišķa vienuma atsauce, bet otrais ir iterācijas pašreizējais indekss.
7. _.karte
Karte, tāpat kā forEach, atkārto dažādu vērtību masīvu. No otras puses, kartes funkcija atgriež jaunu vērtību masīvu, ko nodrošina iterācijas funkcija. Mēs izmantojam to pašu lietotāju kolekciju kā mūsu katra piemērā šeit. Mēs varam izmantot _.map, lai ģenerētu jaunu mainīgo, kurā ir saplacināts visu lietotāju pilno vārdu masīvs.
8. _.atšķirība
Atšķirības funkcija radīs jaunu vērtību masīvu, kas atšķiras starp pirmo un otro masīvu. Ir svarīgi atzīmēt, ka argumentu atrašanās vieta ietekmē rezultātus.
9. _.iegūt
Funkcija _.get() var mums palīdzēt noteikt elementa atrašanās vietu objektā. Mēs varam iestatīt noklusējuma vērtību funkcijai _.get(), kas jāatgriež, ja elements netiek atrasts norādītajā ceļā. Funkcijai _.get() ir trīs parametri, no kuriem pirmais ir objekts, no kura mēs vēlamies iegūt elementu. Ceļš ir otrais. Trešā vērtība ir noklusējuma vērtība, kuru vēlamies atgriezt, ja elementu nevar atrast.
10. _.atrast
Funkcija _find() var šķist identiska metodei _.get(). Funkcija _.find() tāpat kā metode _.get() pieņem trīs parametrus. Tomēr atšķirībā no _.get() metodes pirmais arguments var būt masīvs vai objekts. Otrais arguments norāda funkciju, kas tiks izsaukta katrā iterācijā. Trešā ievade ir kolekcijas sākuma indekss. Tā kā funkcija _.find() atkārtojas katrā kolekcijas elementā.
11. _.groupBy
Izveidojiet objektu, kas nosaukts pēc funkcijas rezultāta (vai nejauši atlasīta rekvizīta nosaukuma), kur katra vērtība ir objektu masīvs ar vienu un to pašu atslēgu.
12. _.komplekts
Metode _.set() ir apgrieztā metode metodei _.get(). Tas mainīs elementa vērtību noteiktā ceļā. Objekts vai masīvs ir pirmais parametrs, ceļš ir otrais, un vērtība, kuru vēlaties iestatīt, ir trešais.
13. _.apvienot
Tas darbojas līdzīgi kā Object.assign, izņemot to, ka tas dziļi iekļūst pamatā esošajā struktūrā, lai atjauninātu dziļākos objektus, nevis tos aizstātu.
14. ._atburr
Šis ir diezgan vienkāršs piemērs. Visas "diakritiskās zīmes" tiek noņemtas. Tādējādi “é” kļūst par “e”. Ja notiek internacionalizācija un lokalizācija, laba prakse ir attīrīt tekstu meklēšanas funkcijām.
15. _.atlēkt
Šī ir viena no efektīvākajām Lodash stratēģijām. Var būt arī grūti saprast, ko tas dara un kad tas jālieto. Metode _.debounce() atgriež funkciju. Metodes _.debounce() funkcija aizkavēs izsaukšanu, līdz būs pagājis noteikts skaits milisekunžu kopš funkcijas pēdējās izsaukšanas.
Secinājumi
Lodash ir spēcīgs JavaScript valodas paplašinājums. Ar minimālu piepūli var izveidot kodolīgu un efektīvu kodu. Lodash ir arī pilnībā modulāra. Lai gan dažas tās funkcijas galu galā var tikt novecojušas, es uzskatu, ka tā joprojām sniegs daudz priekšrocību izstrādātājiem, vienlaikus veicinot JS valodas attīstību.
Es ceru, ka šīs dažas Lodash iespējas palīdzēs jums redzēt, cik spēcīga var būt Lodash, strādājot ar masīviem, objektiem un kolekcijām. Jūs varat apmeklēt dokumentācija lai izpētītu daudzas citas tās piedāvātās iespējas.
Atstāj atbildi