Від розробника потрібно не тільки виконувати завдання, але й виконувати завдання більш ефективно. Сьогодні в JavaScript доступно кілька бібліотек, які полегшують роботу зі змінними для розробників. У цьому підручнику ми дізнаємося, як використовувати найпоширеніші функції бібліотеки Lodash.
Якщо ви ще не пробували Lodash, зараз саме час. Lodash — це сучасний пакет утиліт JavaScript, який спрощує роботу з масивами, цілими числами, об’єктами, текстами та іншими типами даних.
Це допоможе вам працювати з різними видами об’єктів і заощадить ваш час, усуваючи необхідність кодування загальних методів. Ваш код буде чистішим з меншою кількістю рядків і працюватиме в усіх браузерах. Якщо ви ще не використовуєте його, вам слід уважно розглянути його.
Неприйняття Lodash є величезною втратою для наших кодових баз JavaScript. Це безпомилкове та елегантне рішення для поширених проблем, які ми маємо на роботі, і його використання лише зробить наш код більш читабельним і керованим.
Давайте заглибимося в деякі з найбільш популярних (чи ні!) функцій Lodash і дізнаємося, наскільки надзвичайно корисна та красива ця бібліотека.
1. _.sortedUniq
Усі повторювані значення не повертатимуться разом із цим. Оскільки це лише для відсортованих масивів, це в основному використовується з міркувань швидкості. Це корисно, лише якщо ви маєте справу з великим масивом. Якщо ви хочете підвищити швидкість, відсортуйте свій масив і використовуйте методи, які краще працюють із відсортованими масивами.
У Lodash є ряд інших функцій, схожих на цю. Ви можете подивитися на .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqUniqBy, .sortedUniqUniqBy, .
2. _.зменшити
_.reduce схожий на функцію фільтра. Єдина відмінність полягає в тому, що у вас є можливість вибрати форму повернутого об’єкта. Це нормально, якщо ви не розумієте, що я говорю; для цього є приклад.
По суті, ми повертаємо новий об’єкт, що містить користувачів, класифікованих за віком, але лише для тих, кому від 18 до 59. Ця допоміжна функція Lodash є однією з найбільш часто використовуваних. Він також включений в ES6. Я також хотів би звернути увагу на дві типові помилки: не забудьте повернути результат після завершення функції та вказати значення за замовчуванням для результату як третій параметр (тут).
3. _.get і ._set
Для цього я трохи обдурю вас, показавши дві функції, які виконують майже однакові функції. _.get повертає значення властивості з об'єкта, а _.set, ну, ви вже здогадалися, встановлює властивість зі значенням. Нічого унікального, за винятком того, що ви можете отримати доступ до властивості через його шлях.
Давайте розглянемо приклад.
Якщо під час виклику _.set шлях не існує, він буде згенеровано. Більше не буде помилок «Неможливо встановити властивість «елементи» для невизначених». Якщо шлях не існує, _.get поверне значення undefined замість помилки. Якщо шлях стає невизначеним, ви також можете вказати значення за замовчуванням (третій параметр).
4. _.знайти
Замість циклу по масиву, щоб знайти один об’єкт, ми можемо використовувати _.find. Це добре, але це не єдине, що може зробити _.find. За допомогою одного рядка коду ви також можете виявити об’єкт, використовуючи численні властивості. Перевір!
5. _.keyBy
Одним з моїх улюблених є _.keyBy. Це досить корисно при спробі отримати об’єкт з певним атрибутом. Припустимо, що у нас є 100 записів у блозі, і ми хочемо отримати одну з ідентифікатором «34abc». Як ми збираємося це робити? Подивимося, що вийде! Цей метод може допомогти вам організувати колекцію об’єктів, якщо сервер надає її як масив. Функцію також можна використовувати як другий аргумент.
6. _.для кожного
Цей метод перебирає масив об’єктів один за одним, дозволяючи вам виконувати будь-яку логіку, яку ви хочете. У цьому першому прикладі я перегляну список об’єктів користувача, об’єднавши їх ім’я та прізвище, щоб створити нову властивість під назвою fullName.
forEach з них приймає два параметри. Масив, який ми перебираємо, є першим параметром. Другим аргументом є функція ітерації, причому перший параметр є посиланням на окремий елемент, а другий — поточним індексом ітерації.
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 під час роботи з масивами, об’єктами та колекціями. Ви можете відвідати документація щоб вивчити безліч інших варіантів, які він може запропонувати.
залишити коментар