Bu ishlab chiquvchidan nafaqat vazifalarni bajarishi, balki vazifalarni yanada samaraliroq bajarishi ham kerak. Bugungi kunda JavaScript-da ishlab chiquvchilar uchun o'zgaruvchilar bilan ishlashni osonlashtiradigan bir nechta kutubxonalar mavjud. Biz ushbu qo‘llanmada Lodash kutubxonasining eng keng tarqalgan funksiyalaridan qanday foydalanishni o‘rganamiz.
Agar siz hali Lodashni sinab ko'rmagan bo'lsangiz, hozir ayni dam. Lodash - bu massivlar, butun sonlar, ob'ektlar, matnlar va boshqa ma'lumotlar turlari bilan ishlashni osonlashtiradigan zamonaviy JavaScript yordam dasturi.
Bu sizga har xil turdagi ob'ektlar bilan ishlashda yordam beradi va umumiy usullarni kodlash zaruratini yo'qotib, vaqtingizni tejaydi. Sizning kodingiz kamroq satrlar bilan toza bo'ladi va barcha brauzerlarda ishlaydi. Agar siz hali ham foydalanmasangiz, uni diqqat bilan ko'rib chiqishingiz kerak.
Lodash-ni qabul qilmaslik bizning JavaScript kod bazalarimiz uchun katta yo'qotishdir. Bu ishda duch keladigan umumiy muammolarga xatosiz va oqlangan yechim bo'lib, undan foydalanish bizning kodimizni yanada o'qilishi va boshqarilishi mumkin bo'ladi.
Keling, ba'zi mashhur (yoki yo'q!) Lodash funksiyalarini ko'rib chiqaylik va bu kutubxona qanchalik foydali va chiroyli ekanligini bilib olaylik.
1. _.sortedUniq
Barcha takrorlangan qiymatlar bu bilan qaytarilmaydi. Bu faqat tartiblangan massivlar uchun bo'lgani uchun, bu asosan tezlik sabablari uchun ishlatiladi. Bu faqat katta massiv bilan ishlayotgan bo'lsangiz foydali bo'ladi. Tezlikni yaxshilashni istasangiz, massivingizni tartiblang va tartiblangan massivlar bilan yaxshiroq ishlaydigan usullardan foydalaning.
Lodash shunga o'xshash boshqa bir qator funktsiyalarga ega. Siz .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .nisortedBy, .nisortedBy, .
2. _.kamaytirish
_.reduce filtr funksiyasiga o'xshaydi. Yagona farq shundaki, sizda qaytarilgan ob'ekt shaklini tanlash imkoniyati mavjud. Bu normal holat, agar siz aytganlarimni tushunmasangiz; bunga misol bor.
Aslini olganda, biz yoshi bo'yicha tasniflangan foydalanuvchilarni o'z ichiga olgan yangi ob'ektni qaytaramiz, lekin faqat 18 yoshdan 59 yoshgacha bo'lganlar uchun. Bu Lodash yordamchi funksiyasi eng ko'p qo'llaniladigan funksiyalardan biridir. U ES6 ga ham kiritilgan. Men ikkita odatiy xatoni ham ta'kidlamoqchiman: funktsiya yakunida natijani qaytarishni unutmang va natija uchun standart qiymatni uchinchi parametr sifatida taqdim eting (bu erda).
3. _.get va ._set
Buning uchun men deyarli bir xil ishni bajaradigan ikkita funktsiyani ko'rsatib, sizni aldab qo'yaman. _.get ob'ektdan xususiyat qiymatini qaytaradi va _.set, yaxshi, siz taxmin qildingiz, qiymat bilan xususiyatni o'rnating. Hech qanday noyob narsa yo'q, faqat uning yo'li orqali mulkka kirishingiz mumkin.
Keling, bir misolni ko'rib chiqaylik.
Agar _.set ni chaqirayotganda yo'l mavjud bo'lmasa, u hosil bo'ladi. Endi “Aniqlanmagan “elementlar” xossasini o‘rnatib bo‘lmaydi” xatosi bo‘lmaydi. Agar yo'l mavjud bo'lmasa, _.get xato o'rniga aniqlanmagan holda qaytaradi. Agar yo'l aniqlanmagan bo'lsa, siz standart qiymatni (uchinchi parametr) ham kiritishingiz mumkin.
4. _.topish
Bitta ob'ektni topish uchun massiv bo'ylab aylanish o'rniga, biz _.find dan foydalanishimiz mumkin. Bu yaxshi, lekin bu _.find qila oladigan yagona narsa emas. Bitta qator kod yordamida siz ko'plab xususiyatlardan foydalangan holda ob'ektni ham topishingiz mumkin. Tekshirib ko'r!
5. _.keyBy
Mening sevimlilarimdan biri _.keyBy. Bu ma'lum bir atributga ega bo'lgan ob'ektni olishga harakat qilganda juda foydali. Aytaylik, bizda 100 ta blog yozuvlari bor va “34abc” identifikatoriga ega bo'lgan birini qo'lga kiritmoqchimiz. Biz buni qanday qilamiz? Keling, nima bo'lishini ko'ramiz! Agar server uni massiv sifatida taqdim etsa, bu usul sizga ob'ektlar to'plamini tartibga solishga yordam beradi. Funktsiya ikkinchi argument sifatida ham ishlatilishi mumkin.
6. _.Har bir uchun
Bu usul ob'ektlar massivini birma-bir takrorlaydi va siz xohlagan mantiqni bajarishga imkon beradi. Ushbu birinchi misolda men foydalanuvchi ob'ektlari ro'yxatini aylantiraman, ularning ismlari va familiyalarini birlashtirib, fullName deb nomlangan yangi xususiyatni yarataman.
forBularning har biri ikkita parametrni qabul qiladi. Biz aylanayotgan massiv birinchi parametrdir. Ikkinchi argument takrorlash funktsiyasi bo'lib, birinchi parametr alohida element havolasi, ikkinchisi esa iteratsiyaning joriy indeksidir.
7. _.xarita
Map, xuddi forEach kabi, qiymatlar massivida takrorlanadi. Xarita funksiyasi esa takrorlash funksiyasi tomonidan taqdim etilgan yangi qiymatlar qatorini qaytaradi. Biz forEach misolimizdagi kabi foydalanuvchilar to'plamidan foydalanmoqdamiz. Biz _.map dan barcha foydalanuvchilarning toʻliq ismlarining tekislangan massiviga ega boʻlgan yangi oʻzgaruvchini yaratish uchun foydalanishimiz mumkin.
8. _.farq
Farq funksiyasi birinchi va ikkinchi massivlar o‘rtasida farq qiluvchi yangi qiymatlar massivini hosil qiladi. Shuni ta'kidlash kerakki, argumentlarning joylashuvi natijalarga ta'sir qiladi.
9. _.olmoq
_.get() funktsiyasi ob'ekt ichidagi elementni topishda bizga yordam berishi mumkin. Taqdim etilgan yo'lda element topilmasa, qaytarish uchun _.get() funksiyasi uchun standart qiymatni o'rnatishimiz mumkin. _.get() funktsiyasi uchta parametrni oladi, ulardan birinchisi biz elementni olmoqchi bo'lgan ob'ektdir. Yo'l ikkinchi. Uchinchi qiymat, agar elementni topib bo'lmasa, biz qaytarmoqchi bo'lgan standart qiymatdir.
10. _.topish
_find() funktsiyasi _.get() usuli bilan bir xil bo'lishi mumkin. _.find() funksiyasi _.get() usuli kabi uchta parametrni qabul qiladi. Biroq, _.get() usulidan farqli o'laroq, birinchi argument massiv yoki ob'ekt bo'lishi mumkin. Ikkinchi argument har bir iteratsiyada chaqiriladigan funksiyani belgilaydi. Uchinchi ma'lumot to'plamning boshlang'ich indeksidir. Chunki _.find() funksiyasi kollektsiyadagi har bir element ustida takrorlanadi.
11. _.groupBy
Funktsiya natijasi (yoki tasodifiy tanlangan xususiyat nomi) bo'yicha nomlangan ob'ektni yarating, har bir qiymat bir xil kalitga ega bo'lgan ob'ektlar massividan iborat.
12. _.to'plam
_.set() usuli _.get() usuliga teskari hisoblanadi. Bu berilgan yo'lda elementning qiymatini o'zgartiradi. Ob'ekt yoki massiv birinchi parametr, yo'l ikkinchi parametr va siz o'rnatmoqchi bo'lgan qiymat uchinchidir.
13. _.birlashtirmoq
U Object.assign ga oʻxshab ishlaydi, faqat chuqurroq obʼyektlarni yangilash uchun ularni almashtirish oʻrniga asosiy tuzilmaga chuqur kirib boradi.
14. ._deburr
Bu juda oddiy misol. Barcha "birlashtiruvchi diakritik belgilar" olib tashlanadi. Shunday qilib, "é" "e" ga aylanadi. Xalqarolashtirish va mahalliylashtirish mavjud bo'lganda, qidiruv funktsiyalari uchun matnni tuzatish yaxshi amaliyotdir.
15. _.debounce
Bu eng samarali Lodash strategiyalaridan biridir. Bundan tashqari, u nima qilishini va uni qachon ishlatish kerakligini tushunish qiyin bo'lishi mumkin. _.debounce() usuli funksiyani qaytaradi. _.debounce() usuli funksiyasi funksiya oxirgi marta chaqirilganidan keyin belgilangan millisekundlar o‘tmaguncha chaqirishni kechiktiradi.
Xulosa
Lodash JavaScript tilining kuchli kengaytmasidir. Minimal harakat bilan qisqa va samarali kod yaratish mumkin. Lodash ham butunlay modulli. Uning ba'zi funksiyalari oxir-oqibat eskirgan bo'lishi mumkin bo'lsa-da, menimcha, u hali ham ishlab chiquvchilarga ko'plab imtiyozlar beradi va shu bilan birga JS tilining evolyutsiyasini boshqaradi.
Umid qilamanki, bu bir nechta Lodash imkoniyatlari sizga massivlar, ob'ektlar va to'plamlar bilan ishlashda Lodash qanchalik kuchli bo'lishini ko'rishga yordam beradi. ga tashrif buyurishingiz mumkin hujjatlar taklif qiladigan boshqa ko'plab variantlarni o'rganish uchun.
Leave a Reply