当前位置: 首页 > news >正文

lodash里面的常用方法

lodash里面的常用方法

Lodash 常用方法可以按场景记,面试和实战都很高频的是下面这些:

  1. 集合与数组
  • _.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):随机取一个 / 打乱
    1. 对象处理
    • _.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)
      1. 函数控制(前端/接口层很常用)
      • _.debounce(fn, wait):防抖(输入框搜索)
      • _.throttle(fn, wait):节流(滚动/resize)
      • _.once(fn):函数只执行一次
      • _.memoize(fn):缓存函数结果
      • _.delay(fn, wait, ...args):延迟执行
        1. 类型判断
        • _.isNil(x)nullundefined
        • _.isEmpty(x):空对象/空数组/空字符串等
        • _.isEqual(a, b):深比较
        • _.isArray(x) / _.isObject(x) / _.isString(x):类型判断
        1. 字符串处理
        • _.camelCase(str):驼峰
        • _.kebabCase(str):短横线
        • _.snakeCase(str):下划线
        • _.startCase(str):首字母分词标题化
        • _.trim(str):去首尾空白
        1. 实战里最值得优先掌握的 8 个
          • get
          • set
          • groupBy
          • keyBy
          • orderBy
          • debounce
          • throttle
          • isEqual