以下是 Lodash 中前端开发常用的方法列表及注释,按功能分类整理:
数组操作
_.chunk(array, size)
将数组分割成指定大小的多个子数组。
_.flatten(array)
将嵌套数组扁平化一层(浅扁平化)。
_.flattenDeep(array)
递归将嵌套数组完全扁平化(深扁平化)。
_.compact(array)
过滤数组中的假值(false, null, 0, “”, undefined, NaN)。
_.uniq(array)
数组去重,返回唯一值的新数组。
_.uniqBy(array, iteratee)
通过迭代函数生成唯一标识符进行去重。
_.difference(array, values)
返回第一个数组中不在后续数组中的元素。
集合操作(数组/对象通用)
_.map(collection, iteratee)
遍历集合并对每个元素执行函数,返回新数组。
_.filter(collection, predicate)
过滤集合中符合条件的元素。
_.reduce(collection, iteratee, accumulator)
迭代集合生成累积值。
_.groupBy(collection, iteratee)
按迭代函数的结果分组,返回键值对对象。
_.keyBy(collection, iteratee)
将集合转换为以迭代结果为键的对象(覆盖重复键)。
_.orderBy(collection, [iteratees], [orders])
根据多个条件排序集合(支持 asc/desc)。
对象操作
_.get(object, path, defaultValue)
安全获取嵌套对象属性,避免中间属性未定义导致的错误。
_.set(object, path, value)
设置嵌套对象属性的值(自动创建中间路径)。
_.pick(object, [props])
从对象中提取指定属性,返回新对象。
_.omit(object, [props])
排除指定属性,返回新对象。
_.merge(object, sources)
递归合并多个对象的属性(深合并)。
_.cloneDeep(value)
深拷贝对象或数组。
_.isEqual(value, other)
深度比较两个值是否相等。
函数操作
_.debounce(func, wait, options)
防抖函数:延迟执行,直到停止调用后一段时间。
_.throttle(func, wait, options)
节流函数:固定时间间隔内最多执行一次。
_.memoize(func, resolver)
缓存函数结果,避免重复计算。
实用工具
_.random([lower=0], [upper=1], [floating])
生成指定范围内的随机数。
_.times(n, iteratee)
调用函数 n 次,返回结果数组。
_.isEmpty(value)
检查值是否为空(对象、数组、字符串等)。
_.isNil(value)
检查值是否为 null 或 undefined。
_.escape(string)
转义 HTML 特殊字符(如 <, >, & 等)。
_.template(string, options)
生成模板函数,支持 <%= %> 插值和 <% %> 逻辑代码。
性能优化
_.memoize(func)
缓存函数计算结果,避免重复执行。
_.once(func)
确保函数只执行一次,后续调用返回第一次的结果。
典型使用场景
表单验证:_.debounce 用于输入框实时校验。
数据格式化:_.map 和 _.groupBy 处理 API 响应数据。
状态管理:_.cloneDeep 和 _.isEqual 用于深拷贝和状态对比。
安全操作:_.get 避免嵌套对象访问错误。
1026

被折叠的 条评论
为什么被折叠?



