lodash里面的常用方法
Lodash 常用方法可以按场景记,面试和实战都很高频的是下面这些:
- 集合与数组
_.chunk(arr, size):按长度切块_.compact(arr):去掉假值(false/null/0/""/undefined/NaN)_.uniq(arr)/_.uniqBy(arr, keyFn):去重_.intersection(a, b):交集_.difference(a, b):差集_.flatten(arr)/_.flattenDeep(arr):扁平化_.groupBy(arr, keyFnOrKey):分组_.keyBy(arr, keyFnOrKey):按 key 建索引对象_.orderBy(arr, [keys], [orders]):排序(比原生 sort 更直观)_.sample(arr)/_.shuffle(arr):随机取一个 / 打乱- 对象处理
_.get(obj, "a.b.c", defaultVal):安全取值_.set(obj, "a.b.c", value):按路径设置_.has(obj, "a.b.c"):判断路径是否存在_.pick(obj, ["a", "b"]):挑选字段_.omit(obj, ["password"]):排除字段_.merge(a, b):深合并对象_.assign(a, b):浅合并(类似Object.assign)_.mapValues(obj, fn):对象 value 映射_.invert(obj):键值反转(值需可作为 key)- 函数控制(前端/接口层很常用)
_.debounce(fn, wait):防抖(输入框搜索)_.throttle(fn, wait):节流(滚动/resize)_.once(fn):函数只执行一次_.memoize(fn):缓存函数结果_.delay(fn, wait, ...args):延迟执行- 类型判断
_.isNil(x):null或undefined_.isEmpty(x):空对象/空数组/空字符串等_.isEqual(a, b):深比较_.isArray(x)/_.isObject(x)/_.isString(x):类型判断
- 字符串处理
_.camelCase(str):驼峰_.kebabCase(str):短横线_.snakeCase(str):下划线_.startCase(str):首字母分词标题化_.trim(str):去首尾空白
- 实战里最值得优先掌握的 8 个
getsetgroupBykeyByorderBydebouncethrottleisEqual
漫思
