АКА лучшая утилита для работы с данными в JavaScript.

Если вы пытаетесь сделать что-то необычное с данными в JavaScript, у вас может возникнуть соблазн создать методы самостоятельно. И это вполне понятно — многим начинающим программистам это первая стратегия, которая приходит на ум.

Но прежде чем приступить к грубому форсированию этой новой функции, вы можете проверить Lodash. Потому что, скорее всего, он уже прикрыл вас.

Lodash отлично справляется со всеми задачами — перебором массивов, объектов и строк, манипулированием значениями и так далее.

Чтобы начать, все, что вам нужно сделать, это запустить npm install lodash. Затем в файле, где вы хотите использовать методы Lodash, вы можете загрузить полную сборку, используя const _ = require('lodash');. Вы также можете просто загрузить те части сборки, которые хотите использовать; ознакомьтесь с документами для более подробной информации о том, как это сделать.

Просто чтобы дать вам представление о том, насколько полезным может быть Lodash, давайте рассмотрим несколько встроенных методов для массивов. Помните, что это лишь малая часть того, на что способен Lodash.

  • Сжать массив.

Скажем, у вас есть массив с сотнями элементов. Вы пытаетесь уменьшить размер этой вещи, поэтому хотите удалить все ложные значения, то есть элементы, равные false, null, 0, "", undefined или NaN.

С Lodash все, что вам нужно, это _.compact(array);. Вот и все.

  • Проверьте, является ли что-то массивоподобным значением.

Проверить, является ли что-то массивом в ванильном JavaScript, достаточно просто. Вы можете просто использовать метод .isArray(). Но предположим, что вы по-прежнему хотите, чтобы функция возвращала значение true, если значение подобно массиву, то есть если оно имеет длину и не является функцией.

Для этого вы можете использовать _.isArrayLike(value) от Lodash. Итак, _.isArrayLike(["a", "b", c"]); вернет true, но _.isArrayLike("123"); тоже.

  • Проверьте, равны ли два массива (или объекта, или чего-то еще).

Это огромная ловушка ванильного JavaScript — объекты и массивы передаются по ссылке, когда вы проверяете, равны ли они. Итак, допустим, у вас есть:

const a = [1, 2, 3];
const b = [1, 2, 3];

Если вы попытаетесь проверить a === b, JavaScript вернет false. Это потому, что он сравнивает, где переменные хранятся в памяти, а не что они содержат.

Lodash решает эту проблему с помощью чрезвычайно мощного метода _.isEqual(). С Lodash, если вы проверите _.isEqual(a, b);, он вернет true.

Опять же, это лишь малая часть возможностей Lodash, доступных вам на кончиках ваших пальцев. Проверь, чтобы мгновенно повысить уровень своего JavaScript!