Arendajalt ei nõuta mitte ainult ülesannete täitmist, vaid ülesandeid tuleb teha ka tõhusamalt. JavaScriptis on tänapäeval saadaval mitu teeki, mis muudavad muutujatega töötamise arendajatele lihtsamaks. Selles õpetuses õpime kasutama Lodashi teegi kõige levinumaid funktsioone.
Kui te pole veel Lodashi proovinud, siis nüüd on see hetk. Lodash on kaasaegne JavaScripti utiliit, mis lihtsustab massiivide, täisarvude, objektide, tekstide ja muude andmetüüpidega töötamist.
See aitab teil tegeleda erinevat tüüpi objektidega ja säästab teie aega, kuna ei pea te kodeerima üldisi meetodeid. Teie kood on puhtam ja vähemate ridadega ja see töötab kõigis brauserites. Kui te seda veel ei kasuta, peaksite seda hoolikalt kaaluma.
Lodashi mittekasutamine on meie JavaScripti koodibaasidele tohutu kahju. See on veavaba ja elegantne lahendus tavalistele tööprobleemidele ning selle kasutamine muudab meie koodi ainult loetavamaks ja hallatavamaks.
Süveneme mõnda populaarsematesse (või mitte!) Lodashi funktsioonidesse ja avastame, kui äärmiselt kasulik ja ilus see raamatukogu on.
1. _.sortedUnikaalne
Selle väärtusega ei tagastata kõiki dubleeritud väärtusi. Kuna see on mõeldud ainult sorteeritud massiivide jaoks, kasutatakse seda peamiselt kiiruse huvides. See on kasulik ainult siis, kui tegemist on suure massiiviga. Kui soovite kiirust parandada, sortige oma massiiv ja kasutage meetodeid, mis töötavad paremini sorteeritud massiividega.
Lodashil on mitmeid muid sellega sarnaseid funktsioone. Saate vaadata .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedBy, .qsortedUniqBy
2. _.vähendada
_.reduce sarnaneb filtrifunktsiooniga. Ainus erinevus on see, et teil on võimalus valida tagastatava objekti vorm. See on normaalne, kui te ei saa aru, mida ma räägin; selle jaoks on näide.
Sisuliselt tagastame uue objekti, mis sisaldab vanuse järgi klassifitseeritud kasutajaid, kuid ainult neile vanuses 18–59. See Lodashi abifunktsioon on üks kõige sagedamini kasutatavaid. See sisaldub ka ES6-s. Tahaksin juhtida tähelepanu ka kahele tüüpilisele veale: pidage meeles, et tagastage tulemus funktsiooni lõpus ja esitage tulemuse vaikeväärtus kolmanda parameetrina (siin).
3. _.get ja ._set
Selle puhul ma petan teid mõnevõrra, näidates kahte funktsiooni, mis täidavad peaaegu sama asja. _.get tagastab objektilt atribuudi väärtuse ja _.set, noh, arvasite ära, määrab atribuudi väärtusega. Ei midagi ainulaadset, välja arvatud see, et pääsete kinnisvara juurde selle tee kaudu.
Vaatame näidet.
Kui teed faili _.set kutsumise ajal ei eksisteeri, genereeritakse see. Enam ei kuvata tõrkeid „Määramata atribuutide „üksusi ei saa määrata”. Kui teed pole olemas, tagastab _.get vea asemel määramata. Kui tee on määramata, võite sisestada ka vaikeväärtuse (kolmas parameeter).
4. _.leida
Selle asemel, et ühe objekti leidmiseks kasutada massiivi, võime kasutada faili _.find. See on hea, kuid see pole ainus, mida _.find teha saab. Ühe koodireaga saate objekti avastada ka paljude omaduste abil. Vaata järgi!
5. _.keyBy
Üks mu lemmikuid on _.keyBy. See on üsna kasulik, kui proovite hankida teatud atribuudiga objekti. Oletame, et meil on 100 ajaveebikirjet ja tahame haarata selle, mille ID on 34abc. Kuidas me seda teeme? Vaatame mis juhtub! See meetod aitab teil korraldada objektikogu, kui server pakub selle massiivina. Funktsiooni saab kasutada ka teise argumendina.
6. _.Igale
See meetod kordab objektide massiivi ükshaaval, võimaldades teil teha mis tahes loogikat, mida soovite. Selles esimeses näites vaatan üle kasutajaobjektide loendi, ühendades nende ees- ja perekonnanimed, et luua uus atribuut nimega fullName.
Igaüks neist aktsepteerib kahte parameetrit. Massiiv, mille üle teeme silmust, on esimene parameeter. Teine argument on iteratsioonifunktsioon, mille esimene parameeter on üksiku üksuse viide ja teine on iteratsiooni praegune indeks.
7. _.kaart
Kaart, nagu ka forEach, kordab väärtuste massiivi. Kaardifunktsioon seevastu tagastab iteratsioonifunktsiooni pakutava uue väärtuste massiivi. Kasutame sama kasutajate kogu, mis siin on iga näite puhul. Võime kasutada faili _.map, et luua uus muutuja, millel on lamestatud massiiv kõigi kasutajate täisnimedest.
8. _.erinevus
Erinevuste funktsioon loob uue väärtuste massiivi, mis erinevad esimese ja teise massiivi vahel. Oluline on märkida, et argumentide asukohad mõjutavad tulemusi.
9. _.saada
Funktsioon _.get() võib aidata meil objektil elemendi asukohta leida. Saame määrata vaikeväärtuse funktsioonile _.get(), mis tagastatakse, kui elementi esitatud teelt ei leita. Funktsioon _.get() võtab kolm parameetrit, millest esimene on objekt, millest soovime elementi hankida. Tee on teine. Kolmas väärtus on vaikeväärtus, mille tahame tagastada, kui elementi ei leita.
10. _.leida
Funktsioon _find() võib tunduda identne meetodiga _.get(). Funktsioon _.find(), nagu ka meetod _.get(), aktsepteerib kolme parameetrit. Kuid erinevalt meetodist _.get() võib esimene argument olla massiiv või objekt. Teine argument määrab funktsiooni, mida igas iteratsioonis kutsutakse. Kolmas sisend on kollektsiooni algusindeks. Kuna funktsioon _.find() itereerib kogu kogu iga elemendi üle.
11. _.groupBy
Looge funktsiooni tulemuse (või juhuslikult valitud omaduse nime) järgi nimetatud objekt, kusjuures iga väärtus on sama võtmega objektide massiiv.
12. _.komplekt
Meetod _.set() on meetodi _.get() pöördväärtus. See muudab elemendi väärtust antud teel. Objekt või massiiv on esimene parameeter, tee on teine ja väärtus, mille soovite määrata, on kolmas.
13. _.liitma
See toimib sarnaselt objektiga Object.assign, välja arvatud see, et see naaseb sügavamale alusstruktuuri, et värskendada sügavamaid objekte, mitte neid asendada.
14. ._deburr
See on üsna sirgjooneline näide. Kõik "ühendavad diakriitilised märgid" eemaldatakse. Seega saab "é"-st "e". Kui on tegemist rahvusvahelistumise ja lokaliseerimisega, on hea tava otsingufunktsioonide jaoks teksti jämedaks muutmine.
15. _.põrkama
See on üks tõhusamaid Lodashi strateegiaid. Samuti võib olla raske aru saada, mida see teeb ja millal peaksite seda kasutama. Meetod _.debounce() tagastab funktsiooni. Meetodi _.debounce() funktsioon lükkab väljakutsumise edasi, kuni funktsiooni viimasest käivitamisest on möödunud määratud arv millisekundeid.
Järeldus
Lodash on JavaScripti keele võimas laiendus. Minimaalse pingutusega saab luua kokkuvõtliku ja tõhusa koodi. Lodash on ka täiesti modulaarne. Kuigi mõned selle funktsioonid võivad lõpuks aegunud olla, usun, et see pakub arendajatele siiski palju eeliseid, juhtides samal ajal ka JS-i keele arengut.
Loodan, et need mõned Lodashi võimalused aitavad teil näha, kui võimas võib Lodash massiivide, objektide ja kogudega töötamisel olla. Võite külastada dokumentatsioon et uurida paljusid muid võimalusi, mida sellel on pakkuda.
Jäta vastus