Haihitajiki tu kwa msanidi programu kukamilisha kazi, lakini pia ni muhimu kufanya kazi kwa njia ya ufanisi zaidi. Kuna maktaba kadhaa zinazopatikana katika JavaScript leo ambazo hurahisisha kufanya kazi na vigeu kwa wasanidi programu. Tutajifunza jinsi ya kutumia vitendaji vya kawaida vya maktaba ya Lodash katika somo hili.
Ikiwa bado haujajaribu Lodash, sasa ndio wakati. Lodash ni kifurushi cha kisasa cha matumizi ya JavaScript ambacho hurahisisha kufanya kazi na mkusanyiko, nambari kamili, vitu, maandishi na aina zingine za data kwa urahisi.
Itakusaidia katika kushughulika na aina mbalimbali za vitu na itakuokoa wakati kwa kuondoa hitaji la kuweka kanuni za mbinu za jumla. Nambari yako itakuwa safi zaidi ikiwa na laini chache na itafanya kazi katika vivinjari vyote. Ikiwa haujaitumia tayari, unapaswa kuzingatia kwa uangalifu.
Kutokubali Lodash ni hasara kubwa kwa misingi yetu ya JavaScript. Ni suluhisho lisilo na hitilafu na maridadi kwa changamoto za kawaida tulizo nazo kazini, na kuitumia kutafanya tu msimbo wetu kusomeka na kudhibitiwa zaidi.
Hebu tuchunguze baadhi ya vipengele maarufu zaidi (au la!) vya Lodash na tugundue jinsi maktaba hii ilivyo muhimu sana na nzuri.
1. _.sortedUniq
Thamani zote zilizorudiwa hazitarejeshwa pamoja na hii. Kwa sababu ni kwa safu zilizopangwa tu, hii hutumiwa hasa kwa sababu za kasi. Hii ni muhimu tu ikiwa unashughulika na safu kubwa. Ikiwa ungependa kuboresha kasi, panga safu yako na utumie mbinu zinazofanya kazi vyema na safu zilizopangwa.
Lodash ina idadi ya vipengele vingine vinavyofanana na hii. Unaweza kuangalia .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .qsorted.
2. _.punguza
_.punguza ni sawa na kitendakazi cha kichujio. Tofauti pekee ni kwamba una chaguo la kuchagua fomu ya kitu kilichorejeshwa. Ni kawaida, ikiwa huelewi ninachosema; kuna mfano wake.
Kwa hakika, tunarejesha kifaa kipya kilicho na watumiaji walioainishwa kulingana na umri, lakini kwa wale walio na umri wa miaka 18 hadi 59 pekee. Kitendaji hiki cha kisaidizi cha Lodash ni mojawapo ya zinazotumiwa sana. Imejumuishwa pia katika ES6. Ningependa pia kuashiria makosa mawili ya kawaida: kumbuka kurudisha matokeo kwenye hitimisho la kazi, na upe dhamana ya msingi ya matokeo kama paramu ya tatu ( hapa ).
3. _.pata na ._weka
Kwa hili, nitakuhadaa kwa kiasi fulani kwa kuonyesha vitendaji viwili vinavyofanya kazi karibu sawa. _.get hurejesha thamani ya mali kutoka kwa kitu, na _.set, vizuri, ulikisia, weka sifa yenye thamani. Hakuna cha kipekee, isipokuwa kwamba unaweza kupata mali kupitia njia yake.
Hebu tuangalie mfano.
Ikiwa njia haipo wakati wa kupiga simu _.set, itatolewa. Hakutakuwa na tena hitilafu za "Haiwezi kuweka 'vipengee' vya sifa zisizobainishwa". Ikiwa njia haipo, _.get itarudi bila kufafanuliwa badala ya hitilafu. Ikiwa njia itatatuliwa kuwa haijafafanuliwa, unaweza pia kutoa dhamana chaguo-msingi (parameta ya tatu).
4. _.tafuta
Badala ya kuzunguka kwenye safu kutafuta kitu kimoja, tunaweza kutumia _.find. Hiyo ni nzuri, lakini si jambo pekee _.find linaweza kufanya. Ukiwa na safu moja ya nambari, unaweza pia kugundua kitu kwa kutumia mali nyingi. Iangalie!
5. _.kifunguoKwa
Moja ya vipendwa vyangu ni _.keyBy. Ni muhimu sana wakati wa kujaribu kupata kitu kilicho na sifa fulani. Chukulia kuwa tuna maingizo 100 ya blogu na tunataka kunyakua iliyo na kitambulisho "34abc." Tutafanyaje? Hebu tuone kitakachotokea! Njia hii inaweza kukusaidia kupanga mkusanyiko wa kitu ikiwa seva hutoa kama safu. Alama pia inaweza kutumika kama hoja ya pili.
6. _.kwa Kila
Njia hii itajirudia juu ya safu ya vitu moja baada ya nyingine, kukuruhusu kufanya mantiki yoyote unayotaka. Katika mfano huu wa kwanza, nitapitia orodha ya vipengee vya watumiaji, nikiunganisha majina yao ya kwanza na ya mwisho ili kuunda mali mpya inayoitwa fullName.
kwa kila moja ya hizi inakubali vigezo viwili. Safu tunayozunguka ni parameta ya kwanza. Hoja ya pili ni kazi ya kurudiarudia, na kigezo cha kwanza kikiwa marejeleo ya kipengee cha mtu binafsi na ya pili ikiwa faharasa ya sasa ya kurudia.
7. _.ramani
Ramani, kama forEach, inasisitiza safu ya thamani. Utendakazi wa ramani, kwa upande mwingine, hurejesha safu mpya ya thamani iliyotolewa na chaguo la kukokotoa la kurudia. Tunatumia mkusanyiko uleule wa watumiaji kama katika mfano wetu wa forEach hapa. Tunaweza kutumia _.map kutengeneza kigezo kipya ambacho kina safu bapa ya majina kamili ya watumiaji.
8. _.tofauti
Chaguo la kukokotoa la kutofautisha litatoa safu mpya ya maadili ambayo hutofautiana kati ya safu ya kwanza na ya pili. Ni muhimu kutambua kwamba maeneo ya hoja huathiri matokeo.
9. _.pata
_.get() kipengele cha kukokotoa kinaweza kutusaidia kupata kipengele ndani ya kitu. Tunaweza kuweka thamani chaguomsingi ya _.get() kukokotoa ili kurejea ikiwa kipengele hakipatikani kwenye njia iliyotolewa. _.get() chaguo za kukokotoa huchukua vigezo vitatu, cha kwanza ambacho ni kitu ambacho tunataka kupata kipengele. Njia ni ya pili. Thamani ya tatu ni thamani chaguo-msingi tunayotaka kurejesha ikiwa kipengele hakiwezi kupatikana.
10. _.tafuta
Chaguo la kukokotoa la _find() linaweza kuonekana kuwa sawa na mbinu ya _.get(). Chaguo za kukokotoa za _.find(), kama vile _.get() mbinu, hukubali vigezo vitatu. Walakini, tofauti na _.get() mbinu, hoja ya kwanza inaweza kuwa safu au kitu. Hoja ya pili inabainisha kazi ambayo itaitwa kwa kila marudio. Ingizo la tatu ni faharasa ya mwanzo ya mkusanyiko. Kwa sababu chaguo za kukokotoa _.find() hurudia juu ya kila kipengele kwenye mkusanyiko.
11. _.kundiNa
Unda kitu kilichopewa jina kwa matokeo ya chaguo za kukokotoa (au jina la sifa lililochaguliwa kwa nasibu), na kila thamani ikiwa ni safu ya vitu vilivyo na ufunguo sawa.
12. _.weka
Mbinu _.set() ni kinyume cha mbinu _.get(). Itabadilisha thamani ya kitu kwa njia fulani. Kitu au safu ni parameta ya kwanza, njia ni ya pili, na thamani unayotaka kuweka ni ya tatu.
13. _.unganisha
Inafanya kazi sawa na Object.assign, isipokuwa inajirudia ndani ya muundo msingi kusasisha vitu vya kina zaidi badala ya kuvibadilisha.
14. ._deburr
Huu ni mfano wa moja kwa moja. "Alama za kuchanganya diacritical" zote zinaondolewa. Kwa hivyo "e" inakuwa "e". Wakati kuna ujanibishaji wa kimataifa na ujanibishaji, ni mazoea mazuri kubatilisha maandishi kwa vitendaji vya utafutaji.
15. _.tangaza
Hii ni mojawapo ya mikakati yenye ufanisi zaidi ya Lodash. Inaweza pia kuwa ngumu kufahamu inafanya nini na wakati unapaswa kuitumia. Mbinu ya _.debounce() hurejesha chaguo la kukokotoa. Chaguo za kukokotoa za _.debounce() zitachelewesha ombi hadi idadi maalum ya milisekunde ipite tangu chaguo la kukokotoa lilipoombwa mara ya mwisho.
Hitimisho
Lodash ni kiendelezi chenye nguvu cha lugha ya JavaScript. Kwa bidii kidogo, mtu anaweza kuunda nambari fupi na bora. Lodash pia ni msimu kabisa. Ingawa baadhi ya utendakazi wake huenda ukaacha kutumika, ninaamini bado utatoa manufaa mengi kwa wasanidi programu huku pia ukiendeleza mageuzi ya lugha ya JS.
Natumai uwezo huu mdogo wa Lodash utakusaidia kuona jinsi Lodash inavyoweza kuwa na nguvu wakati wa kufanya kazi na mkusanyiko, vitu na mikusanyiko. Unaweza kutembelea nyaraka kuchunguza wingi wa chaguzi nyingine ambayo inapaswa kutoa.
Acha Reply