Сохраните своё время, избегая повторного написания этих популярных JavaScript-функций

Рассказывает Флавио Фрейтас


Разработка — это интересный процесс. Но, увлёкшись, мы не всегда выбираем оптимальные решения. Например, когда реализуем функционал, который уже реализован (это называется «изобретать велосипед»). Я хочу познакомить вас с некоторыми функциями, которые многие часто пытаются реализовать самостоятельно, хотя есть путь проще.

Некоторое время назад я начал использовать библиотеки (иногда одну, иногда другую, поскольку они выполняют, в общем-то, одинаковые задачи), в которых реализованы многие функции, используемые регулярно. Эти библиотеки — 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:

 

Перевод статьи «Javascript: Save time by avoiding re-writing these common functions»