класс инструмента js Lodash, введение в функции, использование

Lodash — очень популярная служебная библиотека JavaScript, предоставляющая набор оптимизированных и повторно используемых функций, которые упрощают написание различных распространенных задач при разработке JS.

Ниже приводится подробное введение в общие функции и использование Lodash:

1. Операции с массивами

1. Скопируйте массив:clone(array)

Пример использования:

const arr1 = [1, 2, 3];
const arr2 = _.clone(arr1);
console.log(arr2); // [1, 2, 3]

2. Объедините несколько массивов:concat(...arrays)

Пример использования:

const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = _.concat(arr1, arr2);
console.log(arr3); // [1, 2, 3, 4]

3. Удалите все подходящие элементы массива:remove(array, [predicate=_.identity])

Пример использования:

const arr = [1, 2, 3, 4, 5];
_.remove(arr, n => n % 2 === 0); // 删除所有偶数
console.log(arr); // [1, 3, 5]

4. Нарушить порядок массива:shuffle(array)

Пример использования:

const arr = [1, 2, 3, 4, 5];
_.shuffle(arr);
console.log(arr); // [3, 1, 5, 4, 2](随机顺序)

5. Дедупликация массива:uniq(array)

Пример использования:

const arr = [1, 1, 2, 3, 3, 4, 5];
_.uniq(arr);
console.log(arr); // [1, 2, 3, 4, 5]

2. Операция с объектом

1. Скопируйте объект:clone(value)

Пример использования:

const obj1 = { foo: 'bar' };
const obj2 = _.clone(obj1);
console.log(obj2); // {foo: "bar"}

2. Глубокое объединение нескольких объектов:merge(object, [sources])

Пример использования:

const object = {
  a: [{ b: { c: 3 } }],
  d: { e: 2 },
};
const other = {
  a: [{ b: { d: 4 } }],
  f: { g: 5 },
};
_.merge(object, other);
console.log(object); // {a: [{b: {c: 3, d: 4}}], d: {e: 2}, f: {g: 5}}

3. Получите значение указанного свойства от объекта:get(object, path, [defaultValue])

Пример использования:

const obj = { user: { name: 'John' } };
const name = _.get(obj, 'user.name', 'unknown');
console.log(name); // John

4. Определите, относится ли переменная к типу объекта:isObject(value)

Пример использования:

console.log(_.isObject({})); // true
console.log(_.isObject(null)); // false
console.log(_.isObject(1)); // false

5. Сравнение глубины объекта:isEqual(value, other)

Пример использования:

const obj1 = { foo: 'bar' };
const obj2 = { foo: 'bar' };
const isEqual = _.isEqual(obj1, obj2);
console.log(isEqual); // true

3. Строковые операции

1. Сделайте первую букву заглавной:capitalize([string=''])

Пример использования:

console.log(_.capitalize('hello world')); // 'Hello world'

2. Экранируйте символы HTML:escape([string=''])

Пример использования:

console.log(_.escape('<div>Hello</div>')); // '&lt;div&gt;Hello&lt;/div&gt;'

3. Преобразуйте строку в верблюжий регистр:camelCase([string=''])

Пример использования:

console.log(_.camelCase('foo_bar_baz')); // 'fooBarBaz'

4. Преобразуйте строку в подчеркивание:snakeCase([string=''])

Пример использования:

console.log(_.snakeCase('fooBarBaz')); // 'foo_bar_baz'

5. Удалите пробелы на обоих концах строки:trim([string=''], [chars=whiteSpace])

Пример использования:

console.log(_.trim('   hello world   ')); // 'hello world'

4. Функциональная работа

1. Функция задержки выполнения:debounce(func, [wait=0], [options={}])

Пример использования:

function foo() {
  console.log('bar');
}
const debouncedFoo = _.debounce(foo, 1000);
debouncedFoo(); // 等待1秒后才会输出'bar'

2. Выполнить через n секунд после вызова функции:delay(func, wait, args)

Пример использования:

function foo() {
  console.log('bar');
}
_.delay(foo, 1000); // 等待1秒后输出'bar'

3. Этот объект функции привязки:bind(func, thisArg, [partials])

Пример использования:

const obj = { x: 42 };
function foo() {
  return this.x;
}
const boundFoo = _.bind(foo, obj);
console.log(boundFoo()); // 42

4. Разрешить выполнение функции только один раз:once(func)

Пример использования:

function foo() {
  console.log('bar');
}
const onceFoo = _.once(foo);
onceFoo(); // 只输出一次'bar'
onceFoo();
onceFoo();

5. Функция регулирования:throttle(func, [wait=0], [options={}])

Пример использования:

function foo() {
  console.log('bar');
}
const throttledFoo = _.throttle(foo, 1000);
throttledFoo(); // 立即输出'bar'
setTimeout(() => {
  throttledFoo(); // 1秒后再次输出'bar'
}, 1500);

Вышеупомянутое — это лишь некоторые распространенные функции и способы использования, предоставляемые Lodash. На самом деле, функции, предоставляемые в Lodash, очень богаты и охватывают различные распространенные сценарии разработки. Если вам нужна определенная функция в повседневной разработке, вы можете сначала проверить, предоставляет ли Lodash соответствующую функцию, чтобы не изобретать велосипед заново.

おすすめ

転載: blog.csdn.net/weixin_39823006/article/details/130579312