Не само што е потребно за развивачот да ги заврши задачите, туку исто така е неопходно да ги извршува задачите на поефикасен начин. Постојат неколку библиотеки достапни во JavaScript денес кои ја олеснуваат работата со променливи за програмерите. Ќе научиме како да ги користиме најчестите функции на библиотеката Lodash во ова упатство.
Ако сè уште не сте го пробале Lodash, сега е моментот. Lodash е современ услужен пакет JavaScript што ја поедноставува работата со низи, цели броеви, објекти, текстови и други типови на податоци полесно.
Тоа ќе ви помогне во справувањето со разни видови објекти и ќе ви заштеди време со елиминирање на потребата од кодирање генерички методи. Вашиот код ќе биде почист со помалку линии и ќе функционира во сите прелистувачи. Ако веќе не го користите, треба внимателно да го разгледате.
Неусвојувањето на Lodash е огромна загуба за нашите бази на кодови на JavaScript. Тоа е без грешки и елегантно решение за заедничките предизвици што ги имаме на работа, а неговото користење само ќе го направи нашиот код почитлив и податлив.
Ајде да истражуваме во некои од најпопуларните (или не!) функции на Lodash и да откриеме колку е исклучително корисна и убава оваа библиотека.
1. _.сортиранUniq
Сите дупликати вредности нема да се вратат со оваа. Бидејќи е само за подредени низи, ова главно се користи од причини за брзина. Ова е корисно само ако се занимавате со голема низа. Ако сакате да ја подобрите брзината, подредете ја низата и користете методи кои подобро функционираат со подредени низи.
Лодаш има голем број други функции кои се слични на оваа. Можете да погледнете во .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .сортиранUniqBy,.
2. _.намали
_.reduce е слично на функцијата за филтрирање. Единствената разлика е во тоа што имате можност да ја изберете формата на вратениот објект. Нормално е, ако не разбирате што велам; има пример за тоа.
Во суштина, враќаме нов објект што содржи корисници класифицирани по возраст, но само за оние на возраст од 18 до 59 години. Оваа функција за помошник на Lodash е една од најчесто користените. Вклучено е и во ES6. Исто така, би сакал да истакнам две типични грешки: не заборавајте да го вратите резултатот на крајот на функцијата и да ја наведете стандардната вредност за резултатот како трет параметар (тука).
3. _.земи и ._постави
За оваа, ќе те измамам малку со прикажување на две функции кои вршат речиси иста работа. _.get враќа вредност на својството од објект, а _.set, добро, погодувате, поставете својство со вредност. Ништо уникатно, освен тоа што можете да пристапите до имотот преку неговиот пат.
Ајде да погледнеме пример.
Ако патеката не постои додека се повикува _.set, таа ќе се генерира. Нема да има повеќе грешки „Не може да се постават „ставки“ на својствата на недефинирани“ грешки. Ако патеката не постои, _.get ќе се врати недефинирано наместо грешка. Ако патеката се реши на недефинирана, може да наведете и стандардна вредност (трет параметар).
4. _.најди
Наместо да вртиме низ низа за да пронајдеме еден објект, можеме да користиме _.find. Тоа е добро, но тоа не е единственото нешто што _.find може да го направи. Со една линија код, може да откриете и објект користејќи бројни својства. Провери го!
5. _.keyBy
Еден од моите омилени е _.keyBy. Тоа е доста корисно кога се обидувате да добиете објект со одреден атрибут. Да претпоставиме дека имаме 100 записи на блогот и сакаме да го земеме оној со ид „34abc“. Како ќе го направиме тоа? Ајде да видиме што ќе се случи! Овој метод може да ви помогне да организирате колекција на објекти ако серверот ја обезбедува како низа. Функцијата може да се користи и како втор аргумент.
6. _.за Секој
Овој метод ќе повторува низ низа објекти еден по еден, што ќе ви овозможи да ја правите логиката што ја сакате. Во овој прв пример, ќе прелистам листа на кориснички објекти, спојувајќи ги нивните имиња и презимиња за да создадам нова сопственост наречена fullName.
за Секој од овие прифаќа два параметри. Низата што ја превртуваме е првиот параметар. Вториот аргумент е iterate функција, при што првиот параметар е референца за поединечна ставка, а вториот е тековниот индекс на итерацијата.
7. _.карта
Картата, како и за Секој, се повторува низ низа вредности. Функцијата мапа, од друга страна, враќа нова низа на вредности обезбедени од функцијата iterate. Ја користиме истата колекција на корисници како во нашиот пример за секој овде. Може да користиме _.map за да генерираме нова променлива која има срамнета низа од целосните имиња на сите корисници.
8. _.разлика
Функцијата разлика ќе произведе нова низа на вредности кои се разликуваат помеѓу првата и втората низа. Од витално значење е да се забележи дека локациите на аргументите влијаат на резултатите.
9. _.добие
Функцијата _.get() може да ни помогне да лоцираме елемент во објектот. Можеме да поставиме стандардна вредност за функцијата _.get() да се врати ако елементот не се најде на испорачаната патека. Функцијата _.get() зема три параметри, од кои првиот е објектот од кој сакаме да добиеме елемент. Патот е вториот. Третата вредност е стандардната вредност што сакаме да ја вратиме ако некој елемент не може да се лоцира.
10. _.најди
Функцијата _find() може да изгледа дека е идентична со методот _.get(). Функцијата _.find(), како и методот _.get(), прифаќа три параметри. Меѓутоа, за разлика од методот _.get(), првиот аргумент може да биде низа или објект. Вториот аргумент ја одредува функцијата што ќе се повика на секоја итерација. Третиот влез е почетниот индекс на збирката. Бидејќи функцијата _.find() се повторува над секој елемент во збирката.
11. _.групаПо
Креирајте објект именуван според резултатот на функцијата (или случајно избраното име на својство), при што секоја вредност е низа од објекти со истиот клуч.
12. _.сет
Методот _.set() е инверзна на методот _.get(). Ќе ја промени вредноста на елементот на дадена патека. Објектот или низата е првиот параметар, патеката е вториот, а вредноста што сакате да ја поставите е третата.
13. _.спој
Функционира слично како Object.assign, освен што се враќа длабоко во основната структура за да ги ажурира подлабоките објекти наместо да ги замени.
14. ._deburr
Ова е прилично јасен пример. Сите „комбинирани дијакритични ознаки“ се отстранети. Така „é“ станува „е“. Кога има интернационализација и локализација, добра практика е да се брише текст за функциите за пребарување.
15. _.отскокнување
Ова е една од најефикасните стратегии на Lodash. Исто така, може да биде тешко да се сфати што прави и кога треба да го користите. Методот _.debounce() враќа функција. Функцијата на методот _.debounce() ќе го одложи повикувањето додека не помине одреден број милисекунди од последното повикување на функцијата.
Заклучок
Lodash е моќна екстензија на JavaScript јазикот. Со минимален напор, може да се изгради концизен и ефикасен код. Лодаш е исто така целосно модуларен. Иако некои од неговите функционалности на крајот може да бидат застарени, верувам дека сепак ќе обезбеди бројни придобивки за програмерите, а истовремено ќе ја поттикне еволуцијата на јазикот JS.
Се надевам дека овие неколку способности на Lodash ќе ви помогнат да видите колку моќен може да биде Lodash кога работите со низи, објекти и колекции. Може да ја посетите документација да истражи плејада други опции што може да ги понуди.
Оставете Одговор