АКА лучшая утилита для работы с данными в 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!