От разработчика се изисква не само да изпълнява задачи, но също така е необходимо да изпълнява задачите по по-ефективен начин. Днес в JavaScript има няколко библиотеки, които улесняват работата с променливи за разработчиците. В този урок ще научим как да използваме най-често срещаните функции на библиотеката Lodash.
Ако все още не сте пробвали Lodash, сега е моментът. Lodash е съвременен пакет от помощни програми на JavaScript, който опростява по-лесно работата с масиви, цели числа, обекти, текстове и други типове данни.
Той ще ви помогне при работа с различни видове обекти и ще ви спести време, като елиминира необходимостта от кодиране на общи методи. Вашият код ще бъде по-чист с по-малко редове и ще функционира във всички браузъри. Ако все още не го използвате, трябва внимателно да го обмислите.
Неприемането на Lodash е огромна загуба за нашите JavaScript кодови бази. Това е без грешки и елегантно решение на често срещаните предизвикателства, които имаме на работа, и използването му само ще направи кода ни по-четлив и управляем.
Нека се задълбочим в някои от по-популярните (или не!) Lodash функции и да открием колко изключително полезна и красива е тази библиотека.
1. _.sortedUniq
Всички дублирани стойности няма да бъдат върнати с тази. Тъй като е само за сортирани масиви, това се използва главно от съображения за скорост. Това е полезно само ако имате работа с голям масив. Ако искате да подобрите скоростта, сортирайте своя масив и използвайте методи, които работят по-добре със сортирани масиви.
Lodash има редица други функции, които са подобни на тази. Можете да разгледате .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqUniqBy, .
2. _.намаляване
_.reduce е подобен на филтърна функция. Единствената разлика е, че имате възможност да изберете формата на върнатия обект. Нормално е, ако не разбирате какво говоря; има пример за това.
По същество ние връщаме нов обект, съдържащ потребители, класифицирани по възраст, но само за тези на възраст от 18 до 59 години. Тази помощна функция на Lodash е една от най-често използваните. Той също е включен в ES6. Бих искал също да посоча две типични грешки: не забравяйте да върнете резултата в края на функцията и предоставите стойността по подразбиране за резултата като трети параметър (тук).
3. _.get и ._set
За тази ще ви измамя донякъде, като покажа две функции, които изпълняват почти едно и също нещо. _.get връща стойност на свойство от обект, а _.set, добре, познахте, задава свойство със стойност. Нищо уникално, освен че можете да получите достъп до свойство през неговия път.
Нека разгледаме един пример.
Ако пътят не съществува при извикване на _.set, той ще бъде генериран. Повече няма да има грешки „Не мога да задам свойство „елементи“ на недефинирани“. Ако пътят не съществува, _.get ще върне недефиниран вместо грешка. Ако пътят се разреши до недефиниран, можете също да предоставите стойност по подразбиране (трети параметър).
4. _.намерете
Вместо да обикаляме през масив, за да намерим един обект, можем да използваме _.find. Това е добре, но не е единственото нещо, което _.find може да направи. С един ред код можете също да откриете обект, като използвате множество свойства. Виж това!
5. _.keyBy
Един от любимите ми е _.keyBy. Това е доста полезно, когато се опитвате да получите обект с определен атрибут. Да приемем, че имаме 100 записа в блога и искаме да вземем този с идентификатор „34abc“. Как ще го направим? Да видим какво ще стане! Този метод може да ви помогне да подредите колекция от обекти, ако сървърът я предоставя като масив. Като втори аргумент може да се използва и функция.
6. _.за всеки
Този метод ще преглежда масив от обекти един по един, което ви позволява да правите каквато логика искате. В този първи пример ще прегледам списък с потребителски обекти, като обединя техните собствени и фамилни имена, за да създам ново свойство, наречено fullName.
за всеки от тях приема два параметъра. Масивът, който обикаляме, е първият параметър. Вторият аргумент е функция за повторение, като първият параметър е препратката към отделния елемент, а вторият е текущият индекс на итерацията.
7. _.карта
Map, подобно на forEach, итерира през масив от стойности. Функцията map, от друга страна, връща нов масив от стойности, предоставени от функцията итерация. Ние използваме същата колекция от потребители, както в нашия пример 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, когато работите с масиви, обекти и колекции. Може да посетите документация да проучи множество други възможности, които може да предложи.
Оставете коментар