Хөгжүүлэгч нь зөвхөн даалгавруудыг гүйцэтгэхэд шаардагдахаас гадна даалгавруудыг илүү үр дүнтэй хийх шаардлагатай байдаг. Өнөөдөр JavaScript дээр хэд хэдэн номын сангууд байдаг бөгөөд энэ нь хөгжүүлэгчдийн хувьд хувьсагчтай ажиллахад хялбар болгодог. Бид энэ зааварт Лодаш номын сангийн хамгийн түгээмэл функцуудыг хэрхэн ашиглах талаар сурах болно.
Хэрэв та Lodash-ийг хараахан туршиж амжаагүй бол яг одоо байна. Lodash бол массив, бүхэл тоо, объект, текст болон бусад өгөгдлийн төрлүүдтэй ажиллахад хялбар болгох орчин үеийн JavaScript хэрэгслийн багц юм.
Энэ нь янз бүрийн төрлийн объектуудтай ажиллахад тань туслах бөгөөд ерөнхий аргуудыг кодлох хэрэгцээг арилгаснаар таны цагийг хэмнэх болно. Таны код цөөн мөртэй илүү цэвэрхэн байх ба бүх хөтөч дээр ажиллах болно. Хэрэв та үүнийг аль хэдийн ашиглаагүй байгаа бол үүнийг сайтар бодож үзэх хэрэгтэй.
Lodash-ийг ашиглахгүй байх нь манай JavaScript кодын сангийн хувьд асар их алдагдал юм. Энэ нь бидний ажил дээр тулгардаг нийтлэг сорилтод алдаагүй, гоёмсог шийдэл бөгөөд үүнийг ашиглах нь зөвхөн бидний кодыг уншихад хялбар, удирдах боломжтой болгоно.
Хамгийн алдартай (эсвэл үгүй!) Lodash функцуудын заримыг судалж, энэ номын сан ямар их хэрэгтэй, үзэсгэлэнтэй болохыг олж мэдэцгээе.
1. _.sortedUniq
Давхардсан бүх утгыг үүнтэй хамт буцааж өгөхгүй. Энэ нь зөвхөн эрэмбэлэгдсэн массивуудад зориулагдсан тул хурдны шалтгаанаар үүнийг голчлон ашигладаг. Энэ нь зөвхөн том массивтай харьцаж байгаа тохиолдолд л хэрэг болно. Хэрэв та хурдыг сайжруулахыг хүсвэл массиваа ангилж, эрэмбэлэгдсэн массиваар илүү сайн ажиллах аргуудыг ашиглаарай.
Лодаш үүнтэй төстэй өөр хэд хэдэн функцтэй. Та .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .nisortedB.
2. _.багасгах
_.reduce нь шүүлтүүрийн функцтэй төстэй. Ганц ялгаа нь танд буцаж ирсэн объектын хэлбэрийг сонгох боломжтой юм. Хэрэв та миний хэлснийг ойлгохгүй бол энэ нь хэвийн зүйл юм; үүний нэг жишээ бий.
Үндсэндээ бид зөвхөн 18-аас 59 насныханд зориулагдсан хэрэглэгчдийг насаар нь ангилсан шинэ объектыг буцаана. Энэхүү Lodash туслах функц нь хамгийн түгээмэл хэрэглэгддэг функцүүдийн нэг юм. Энэ нь мөн ES6-д багтсан болно. Би бас хоёр ердийн алдааг онцлон тэмдэглэхийг хүсч байна: функцийн төгсгөлд үр дүнг буцааж өгөхөө санаарай, үр дүнгийн өгөгдмөл утгыг гурав дахь параметр болгон оруулна уу (энд).
3. _.авах ба ._тогтоох
Үүний тулд би бараг ижил зүйлийг гүйцэтгэдэг хоёр функцийг үзүүлснээр таныг хуурах болно. _.get нь тухайн объектоос шинж чанарын утгыг буцаадаг ба _.set, за тааварласан биз дээ, утга бүхий шинж чанарыг тохируулна. Та үл хөдлөх хөрөнгөд түүний замаар нэвтэрч болно гэдгээс өөр өвөрмөц зүйл байхгүй.
Нэг жишээ авч үзье.
Хэрэв _.set-г дуудаж байхад зам байхгүй бол түүнийг үүсгэнэ. "Тодорхойгүй үл хөдлөх хөрөнгийн 'зүйлүүдийг' тохируулах боломжгүй" гэсэн алдаа байхгүй болно. Хэрэв зам байхгүй бол _.get алдааны оронд тодорхойгүй буцаана. Хэрэв зам тодорхойгүй болвол та үндсэн утгыг (гурав дахь параметр) оруулж болно.
4. _. олох
Нэг объектыг олохын тулд массиваар давталт хийхийн оронд бид _.find-г ашиглаж болно. Энэ нь сайн, гэхдээ энэ нь зөвхөн _.find-ийн хийж чадах зүйл биш юм. Нэг мөр кодын тусламжтайгаар та олон тооны шинж чанарыг ашиглан объектыг нээж болно. Үүнийг шалгаарай!
5. _.keyBy
Миний дуртай зүйлсийн нэг бол _.keyBy. Энэ нь тодорхой шинж чанартай объектыг олж авахыг оролдоход маш их хэрэгтэй байдаг. Бидэнд 100 блог бичлэг байгаа бөгөөд "34abc" id-тэй нэгийг нь авахыг хүсч байна гэж бодъё. Бид яаж үүнийг хийх гэж байна? Юу болсныг харцгаая! Хэрэв сервер үүнийг массив хэлбэрээр өгдөг бол энэ арга нь объектын цуглуулгыг зохион байгуулахад тусална. Функцийг хоёр дахь аргумент болгон ашиглаж болно.
6. _.Бүр бүрийн хувьд
Энэ арга нь объектуудын массивыг нэг нэгээр нь давтаж, хүссэн логикоо хийх боломжийг танд олгоно. Энэ эхний жишээнд би хэрэглэгчийн объектуудын жагсаалтыг давтаж, тэдгээрийн нэр, овог нэрийг нэгтгэн fullName нэртэй шинэ өмч үүсгэх болно.
Эдгээр нь тус бүр нь хоёр параметрийг хүлээн авдаг. Бидний давтаж байгаа массив бол эхний параметр юм. Хоёрдахь аргумент нь давталтын функц бөгөөд эхний параметр нь тус бүрийн зүйлийн лавлагаа, хоёр дахь нь давталтын одоогийн индекс юм.
7. _.газрын зураг
Газрын зураг нь forEach шиг утгын массивыг давтдаг. Харин газрын зургийн функц нь давталт функцээр өгөгдсөн утгуудын шинэ массивыг буцаана. Бид энд байгаа forEach жишээн дээрхтэй ижил хэрэглэгчдийн цуглуулгыг ашиглаж байна. Бид _.map-г ашиглан бүх хэрэглэгчдийн бүтэн нэрсийн хавтгайруулсан массив бүхий шинэ хувьсагчийг үүсгэж болно.
8. _.ялгаа
Ялгаа функц нь эхний болон хоёр дахь массивуудын хооронд ялгаатай утгуудын шинэ массив үүсгэх болно. Аргументуудын байршил нь үр дүнд нөлөөлдөг гэдгийг анхаарах нь чухал юм.
9. _.авах
_.get() функц нь объект доторх элементийг олоход тусална. Хэрэв өгөгдсөн зам дээр элемент олдохгүй бол бид буцаах _.get() функцийн өгөгдмөл утгыг тохируулж болно. _.get() функц нь гурван параметрийг авдаг бөгөөд эхнийх нь элемент авахыг хүссэн объект юм. Зам бол хоёр дахь нь. Гурав дахь утга нь элементийг олох боломжгүй тохиолдолд буцаахыг хүссэн өгөгдмөл утга юм.
10. _. олох
_find() функц нь _.get() аргатай адилхан юм шиг харагдаж болно. _.get() арга шиг _.find() функц нь гурван параметрийг хүлээн авдаг. Гэхдээ _.get() аргаас ялгаатай нь эхний аргумент нь массив эсвэл объект байж болно. Хоёрдахь аргумент нь давталт бүрт дуудагдах функцийг тодорхойлдог. Гурав дахь оролт нь цуглуулгын эхлэлийн индекс юм. Учир нь _.find() функц нь цуглуулгын элемент бүр дээр давтагддаг.
11. _.groupBy
Утга бүр нь ижил түлхүүр бүхий объектуудын массив байхаар функцийн үр дүнд (эсвэл санамсаргүй байдлаар сонгосон шинж чанарын нэрээр) нэрлэгдсэн объектыг үүсгэ.
12. _. багц
_.set() арга нь _.get() аргын урвуу арга юм. Энэ нь тухайн зам дээрх элементийн утгыг өөрчлөх болно. Объект эсвэл массив нь эхний параметр, зам нь хоёрдугаарт, таны тохируулахыг хүсч буй утга нь гурав дахь нь юм.
13. _. нэгтгэх
Энэ нь Object.assign-той адил үйлчилдэг, гэхдээ энэ нь илүү гүнзгий объектуудыг солихын оронд үндсэн бүтцийн гүн рүү нь давтдаг.
14. ._бууралт
Энэ бол нэлээд энгийн жишээ юм. Бүх "хосолсон диакритик тэмдэглэгээг" арилгасан. Ийнхүү “é” нь “e” болж хувирна. Олон улсын хэмжээнд нутагшуулах, нутагшуулах үед хайлтын функцэд зориулж текстийг арилгах нь сайн туршлага юм.
15. _.буцах
Энэ бол Лодашийн хамгийн үр дүнтэй стратегиудын нэг юм. Энэ нь юу хийдэг, хэзээ ашиглах ёстойг ойлгоход хэцүү байж магадгүй юм. _.debounce() арга нь функцийг буцаана. _.debounce() аргын функц нь функцийг хамгийн сүүлд дуудсанаас хойш заасан хэдэн миллисекунд өнгөрөх хүртэл дуудлагыг хойшлуулна.
Дүгнэлт
Lodash бол JavaScript хэлний хүчирхэг өргөтгөл юм. Хамгийн бага хүчин чармайлтаар хүн товч бөгөөд үр дүнтэй код үүсгэж болно. Лодаш мөн бүрэн модульчлагдсан. Хэдийгээр түүний зарим функцууд нь хуучирсан байж магадгүй ч энэ нь хөгжүүлэгчдэд олон ашиг тусыг өгөхийн зэрэгцээ JS хэлний хувьсалд түлхэц үзүүлнэ гэдэгт би итгэж байна.
Лодашийн эдгээр цөөн хэдэн чадвар нь массив, объект, цуглуулгатай ажиллахад Лодаш ямар хүчирхэг болохыг олж харахад тусална гэж найдаж байна. Та зочилж болно бичиг баримт санал болгож буй бусад олон сонголтуудыг судлах.
хариу үлдээх