Әзірлеушіге тапсырмаларды орындау ғана емес, сонымен қатар тапсырмаларды тиімдірек орындау қажет. Бүгінгі таңда JavaScript-те әзірлеушілерге айнымалылармен жұмыс істеуді жеңілдететін бірнеше кітапханалар бар. Біз осы оқулықта Lodash кітапханасының ең көп таралған функцияларын қалай пайдалану керектігін үйренеміз.
Егер сіз әлі Лодашты қолданып көрмесеңіз, дәл қазір. Lodash – массивтермен, бүтін сандармен, нысандармен, мәтіндермен және басқа да деректер түрлерімен жұмыс істеуді жеңілдететін заманауи JavaScript утилиталық пакеті.
Ол сізге әртүрлі нысандармен жұмыс істеуге көмектеседі және жалпы әдістерді кодтау қажеттілігін жою арқылы уақытты үнемдейді. Сіздің кодыңыз аз жолдармен тазарақ болады және барлық браузерлерде жұмыс істейді. Егер сіз оны әлі пайдаланбасаңыз, оны мұқият қарастырған жөн.
Lodash қолданбау JavaScript код базалары үшін үлкен шығын болып табылады. Бұл жұмыста кездесетін қиындықтарға қатесіз және талғампаз шешім және оны пайдалану кодымызды оқуға және басқаруға ыңғайлы етеді.
Кейбір танымал (немесе жоқ!) Lodash функцияларын зерттеп көрейік және бұл кітапхананың қаншалықты пайдалы және әдемі екенін білейік.
1. _.sortedUniq
Барлық қайталанатын мәндер осымен қайтарылмайды. Бұл жай ғана сұрыпталған массивтер үшін болғандықтан, бұл негізінен жылдамдық себептері үшін пайдаланылады. Бұл үлкен массивпен жұмыс істегенде ғана пайдалы. Жылдамдықты жақсартқыңыз келсе, массивіңізді сұрыптаңыз және сұрыпталған массивтермен жақсырақ жұмыс істейтін әдістерді пайдаланыңыз.
Лодаштың осыған ұқсас басқа да бірқатар функциялары бар. Сіз .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .nisortedB.nisorted.
2. _.азайту
_.reduce сүзгі функциясына ұқсас. Жалғыз айырмашылығы - сізде қайтарылған нысанның пішінін таңдау мүмкіндігі бар. Бұл қалыпты жағдай, егер менің айтқанымды түсінбесеңіз; оған мысал бар.
Негізінде біз жасы бойынша жіктелген пайдаланушыларды қамтитын жаңа нысанды қайтарамыз, бірақ тек 18 бен 59 жас аралығындағылар үшін. Бұл Lodash көмекшісі функциясы ең жиі қолданылатындардың бірі болып табылады. Ол сондай-ақ ES6 құрамына кіреді. Мен сондай-ақ екі әдеттегі қатені атап өткім келеді: функцияның соңында нәтижені қайтаруды ұмытпаңыз және нәтиже үшін әдепкі мәнді үшінші параметр ретінде беріңіз (мұнда).
3. _.get және ._set
Бұл үшін мен бірдей нәрсені орындайтын екі функцияны көрсету арқылы сізді алдаймын. _.get нысаннан сипат мәнін қайтарады, ал _.set, сіз оны болжадыңыз, мәні бар сипатты орнатыңыз. Бірегей ештеңе жоқ, тек оның жолы арқылы меншікке қол жеткізу мүмкіндігін қоспағанда.
Мысал қарастырайық.
_.set шақыру кезінде жол жоқ болса, ол жасалады. Енді "Анықталмаған 'элементтер" сипатын орнату мүмкін емес" қателері болмайды. Жол жоқ болса, _.get қатенің орнына анықталмағанды қайтарады. Егер жол анықталмаған деп шешілсе, әдепкі мәнді (үшінші параметр) беруге болады.
4. _.табу
Жалғыз нысанды табу үшін массив арқылы айналдырудың орнына, біз _.find пайдалана аламыз. Бұл жақсы, бірақ бұл _.find жасай алатын жалғыз нәрсе емес. Кодтың бір жолы арқылы сіз көптеген сипаттарды пайдалану арқылы нысанды таба аласыз. Мынаны көр!
5. _.keyBy
Менің сүйіктілерімнің бірі - _.keyBy. Бұл белгілі бір атрибутқа ие нысанды алуға әрекет жасағанда өте пайдалы. Бізде 100 блог жазбасы бар және «34abc» идентификаторы бар біреуін алғымыз келеді делік. Біз мұны қалай жасаймыз? Не болатынын көрейік! Бұл әдіс, егер сервер оны массив ретінде қамтамасыз етсе, нысандар жиынын реттеуге көмектеседі. Функцияны екінші аргумент ретінде де пайдалануға болады.
6. _.әрқайсысы үшін
Бұл әдіс кез келген логиканы орындауға мүмкіндік беретін нысандар массивін бір-бірлеп қайталайды. Бұл бірінші мысалда fullName деп аталатын жаңа сипатты жасау үшін олардың атын және тегін біріктіріп, пайдаланушы нысандарының тізімін айналдырамын.
for Бұлардың әрқайсысы екі параметрді қабылдайды. Біз айналдырып жатқан массив бірінші параметр болып табылады. Екінші аргумент қайталанатын функция болып табылады, бірінші параметр жеке элемент сілтемесі және екіншісі итерацияның ағымдағы индексі болып табылады.
7. _.карта
Map, мысалы, forEach, мәндер массивінде қайталанады. Карта функциясы, керісінше, қайталау функциясы қамтамасыз ететін мәндердің жаңа массивін қайтарады. Біз мұндағы forEach мысалындағыдай пайдаланушылар жинағын қолданамыз. Біз барлық пайдаланушылардың толық атауларының тегістелген массиві бар жаңа айнымалыны жасау үшін _.map пайдалана аламыз.
8. _.айырмашылық
Айырмашылық функциясы бірінші және екінші массивтер арасында ерекшеленетін мәндердің жаңа массивін шығарады. Аргументтердің орны нәтижелерге әсер ететінін ескеру өте маңызды.
9. _.алу
_.get() функциясы объект ішіндегі элементті табуға көмектеседі. Берілген жолда элемент табылмаса, қайтару үшін _.get() функциясы үшін әдепкі мәнді орнатуға болады. _.get() функциясы үш параметрді қабылдайды, олардың біріншісі - элементті алғымыз келетін нысан. Жол - екінші. Үшінші мән - элементті табу мүмкін болмаса, біз қайтарғымыз келетін әдепкі мән.
10. _.табу
_find() функциясы _.get() әдісімен бірдей болып көрінуі мүмкін. _.find() функциясы _.get() әдісі сияқты үш параметрді қабылдайды. Дегенмен, _.get() әдісінен айырмашылығы, бірінші аргумент массив немесе нысан болуы мүмкін. Екінші аргумент әрбір итерацияда шақырылатын функцияны көрсетеді. Үшінші енгізу - жинақтың бастапқы индексі. Өйткені _.find() функциясы жинақтағы әрбір элементті қайталайды.
11. _.groupBy
Әрбір мән бірдей кілті бар нысандар жиымы болатын функцияның нәтижесі бойынша (немесе кездейсоқ таңдалған сипат атауы) аталған нысанды жасаңыз.
12. _.жинақ
_.set() әдісі _.get() әдісіне кері. Ол берілген жолда элементтің мәнін өзгертеді. Нысан немесе массив - бірінші параметр, жол - екінші, ал орнатқыңыз келетін мән - үшінші.
13. _.біріктіру
Ол Object.assign файлына ұқсас жұмыс істейді, бірақ ол оларды ауыстырудың орнына тереңірек нысандарды жаңарту үшін негізгі құрылымға терең қайта оралады.
14. ._қабат
Бұл өте қарапайым мысал. Барлық «біріктіретін диакритикалық белгілер» жойылады. Осылайша «é» «e» болады. Интернационалдандыру және локализация болған кезде іздеу функциялары үшін мәтінді жою жақсы тәжірибе болып табылады.
15. _.бұзу
Бұл ең тиімді Lodash стратегияларының бірі. Оның не істейтінін және оны қашан пайдалану керектігін түсіну де қиын болуы мүмкін. _.debounce() әдісі функцияны қайтарады. _.debounce() әдісінің функциясы функция соңғы рет шақырылғаннан бері көрсетілген миллисекундтар саны өткенше шақыруды кешіктіреді.
қорытынды
Lodash — JavaScript тілінің қуатты кеңейтімі. Ең аз күш жұмсай отырып, қысқа және тиімді кодты құруға болады. Lodash да толығымен модульдік. Оның кейбір функционалдық мүмкіндіктері сайып келгенде ескіруі мүмкін болса да, ол JS тілінің эволюциясын басқара отырып, әзірлеушілерге әлі де көптеген артықшылықтар береді деп ойлаймын.
Осы бірнеше Lodash мүмкіндіктері массивтермен, нысандармен және жинақтармен жұмыс істегенде Lodash қаншалықты қуатты болатынын көруге көмектеседі деп үміттенемін. келуге болады құжаттама ұсынатын басқа да көптеген нұсқаларды зерттеу.
пікір қалдыру