Рассказывает Флавио Фрейтас
Разработка — это интересный процесс. Но, увлёкшись, мы не всегда выбираем оптимальные решения. Например, когда реализуем функционал, который уже реализован (это называется «изобретать велосипед»). Я хочу познакомить вас с некоторыми функциями, которые многие часто пытаются реализовать самостоятельно, хотя есть путь проще.
Некоторое время назад я начал использовать библиотеки (иногда одну, иногда другую, поскольку они выполняют, в общем-то, одинаковые задачи), в которых реализованы многие функции, используемые регулярно. Эти библиотеки — Underscore и Lodash. Они эффективные и легковесные (~19 КБ).
Список, приведённый ниже, основан на моём опыте работы в проектах. Я описал здесь наиболее распространенные функции, которые вы наверняка использовали раньше.
1. Получить случайный элемент из списка
Это функция, которую я люблю больше всего. С её помощью очень просто заполнить базу данных случайными значениями, что часто бывает необходимо для тестирования.
2. Объединение массивов
Это хороший пример того, как вы можете сократить ваш код и сделать его более читаемым:
3. Пересечение массивов
Другой пример того, как избавиться от кучи кода:
4. Избежание итерирования объектов через их свойства
Получение ключей:
Получение значений:
5. Расширение объектов
Довольно часто необходимо скопировать аргументы одного объекта в другой. Решение этой задачи довольно громоздкое:
6. Цикл в N итераций
Мы часто итерируем по массиву или объекту N раз:
7. Наличие элемента
Функция уже доступна в ES7, но пример пригодится тем, кто ещё не использует эту версию JavaScript:
8. Удаление атрибутов из объекта
9. Псевдослучайное число из диапазона
Прощайте, длинные функции для получения псевдослучайного числа из диапазона:
10. Соотношения (map) для вложенных атрибутов
Простой способ итерироваться по массиву для возвращения определённого атрибута объекта. Пример на Lodash и Underscore выглядит примерно одинаково:
11. Примеси (mixins)
А если после знакомства с функциями Lodash и Underscore вы понимаете, что вам их не хватает, то ваш ответ — примеси. С их помощью вы можете создать собственные функции и расширить функционал библиотеки.
Простой пример:
БОНУС: Примесь, которую я часто использую в своем коде для получения вложенных атрибутов объекта, не опасаясь, что какое-то значение будет null
:
Добавить комментарий