lodash

是一个一致性、模块化、高性能的 JavaScript 实用工具库。

中文官网

首页:https://www.lodashjs.com/
文档:https://www.lodashjs.com/docs/latest

安装

npm i lodash -S

使用

import from lodash;
.cloneDeep();

常用方法

  • _.cloneDeep(value):深拷贝
  • _.get(obj, ‘a.b’, []):获取
  • _.isNumber(value):判断是否是数值
  • _.isEmpty(value):判断是否为空,包括false、undefined、null、[]、 {}都会返回true
  • _.isEqual(value, other):比较两者是否相等,绝对相等
  • pullAllBy(array, values, [iteratee=_.identity]) 移出相同key相同value的元素
  • 节流、防抖、柯里化函数

lodash-decorators

是 lodash 的装饰器用法,某些函数使用侵入式更加方便。比如防抖、节流、缓存函数等。

github:https://github.com/steelsojka/lodash-decorators
用法:https://github.com/steelsojka/lodash-decorators#usage

示例

  1. // import Debounce from 'lodash-decorators/debounce';
  2. // import { debounce, memoize } from 'lodash-decorators';
  3. // import { Debounce, Memoize } from 'lodash-decorators';
  4. class Person {
  5. constructor(firstName, lastName) {
  6. this.firstName = firstName;
  7. this.lastName = lastName;
  8. }
  9. // 防抖
  10. @Debounce(100)
  11. save(date) {
  12. return this.httpService.post(data);
  13. }
  14. // 缓存
  15. @Memoize(item => item.id)
  16. doSomeHeavyProcessing(arg1, arg2) {}
  17. }