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
示例
// import Debounce from 'lodash-decorators/debounce';
// import { debounce, memoize } from 'lodash-decorators';
// import { Debounce, Memoize } from 'lodash-decorators';
class Person {
constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
// 防抖
@Debounce(100)
save(date) {
return this.httpService.post(data);
}
// 缓存
@Memoize(item => item.id)
doSomeHeavyProcessing(arg1, arg2) {}
}