方法速查表
快速浏览所有 Lodash 方法及其核心功能。
Array (数组)
| 方法 | 功能简介 |
|---|---|
| chunk | 将数组拆分成多个指定长度的区块。 |
| compact | 剔除数组中的所有假值。 |
| concat | 连接数组和值。 |
| difference | 排除给定值,返回差集。 |
| differenceBy | (iteratee) 接受迭代器处理后再求差集。 |
| differenceWith | (comparator) 接受比较器处理后再求差集。 |
| drop | 去除数组前面的 n 个元素。 |
| dropRight | 去除数组尾部的 n 个元素。 |
| dropRightWhile | 从尾部去除元素,直到断言返回假。 |
| dropWhile | 从开头去除元素,直到断言返回假。 |
| fill | 用指定值填充数组。 |
| findIndex | 返回第一个符合条件的元素的索引。 |
| findLastIndex | 从右往左查,返回第一个符合条件的元素的索引。 |
| flatten | 减少一级数组嵌套。 |
| flattenDeep | 递归地将数组完全扁平化。 |
| flattenDepth | 根据指定深度扁平化数组。 |
| fromPairs | 将键值对数组转为对象。 |
| head | 获取数组的第一个元素。 |
| indexOf | 查找值在数组中的索引。 |
| initial | 获取除最后一个元素外的所有元素。 |
| intersection | 取多个数组的交集。 |
| intersectionBy | (iteratee) 接受迭代器处理后再求交集。 |
| intersectionWith | (comparator) 接受比较器处理后再求交集。 |
| join | 将数组转换为字符串。 |
| last | 获取数组的最后一个元素。 |
| lastIndexOf | 从右往左查,返回值的索引。 |
| nth | 获取数组第 n 个元素(支持负数)。 |
| pull | 移除数组中所有和给定值相等的元素(改变原数组)。 |
| pullAll | 类似 pull,接受数组参数(改变原数组)。 |
| pullAllBy | (iteratee) 接受迭代器处理后的 pullAll(改变原数组)。 |
| pullAllWith | (comparator) 接受比较器处理后的 pullAll(改变原数组)。 |
| pullAt | 根据索引移除元素(改变原数组)。 |
| remove | 移除符合条件的元素并返回它们(改变原数组)。 |
| reverse | 反转数组(改变原数组)。 |
| slice | 裁剪数组。 |
| sortedIndex | 二分查找应该插入值的位置以保持排序。 |
| sortedIndexBy | (iteratee) 计算排序插入位置。 |
| sortedIndexOf | 在有序数组中查找值的索引。 |
| sortedLastIndex | 二分查找插入位置(插入到相同元素之后)。 |
| sortedLastIndexBy | (iteratee) 计算排序插入位置(从后)。 |
| sortedLastIndexOf | 在有序数组中查找值的最后索引。 |
| sortedUniq | 对有序数组进行去重。 |
| sortedUniqBy | (iteratee) 对有序数组进行去重。 |
| tail | 获取除第一个元素外的所有元素。 |
| take | 提取数组开头的 n 个元素。 |
| takeRight | 提取数组尾部的 n 个元素。 |
| takeRightWhile | 从尾部提取元素,直到断言返回假。 |
| takeWhile | 从开头提取元素,直到断言返回假。 |
| union | 多个数组合并并去重(并集)。 |
| unionBy | (iteratee) 接受迭代器处理后再求并集。 |
| unionWith | (comparator) 接受比较器处理后再求并集。 |
| uniq | 数组去重。 |
| uniqBy | (iteratee) 根据迭代器处理后的结果去重。 |
| uniqWith | (comparator) 根据比较器处理后的结果去重。 |
| unzip | zip 的逆操作,重组数组。 |
| unzipWith | (iteratee) 重组数组并合并值。 |
| without | 剔除指定值,返回新数组。 |
| xor | 取多个数组的对称差集(不相交的部分)。 |
| xorBy | (iteratee) 接受迭代器处理后再求对称差集。 |
| xorWith | (comparator) 接受比较器处理后再求对称差集。 |
| zip | 创建分组元素数组(矩阵转置)。 |
| zipObject | 将属性名数组和值数组组合成对象。 |
| zipObjectDeep | 支持深层属性路径的 zipObject。 |
| zipWith | (iteratee) zip 数组并合并值。 |
Collection (集合)
| 方法 | 功能简介 |
|---|---|
| countBy | 统计集合中各元素出现的次数。 |
| every | 检查是否 所有 元素都通过了真值检测。 |
| filter | 返回 所有 通过真值检测的元素。 |
| find | 返回 第一个 通过真值检测的元素。 |
| findLast | 从右往左查,返回第一个符合条件的元素。 |
| flatMap | 先 map 再 flatten(扁平化一层)。 |
| flatMapDeep | 先 map 再递归扁平化(深层)。 |
| flatMapDepth | 先 map 再根据指定深度扁平化。 |
| forEach | 遍历集合中的每个元素。 |
| forEachRight | 从右往左遍历集合。 |
| groupBy | 根据迭代器结果对集合进行分组。 |
| includes | 检查值是否存在于集合中。 |
| invokeMap | 调用集合中每个元素的方法。 |
| keyBy | 将集合转换为对象,键由迭代器生成。 |
| map | 创建一个新数组,包含遍历后的结果。 |
| orderBy | 指定多个字段和顺序进行排序。 |
| partition | 将元素拆分为两组:符合条件的和不符合的。 |
| reduce | 将集合归约为一个值(累加器)。 |
| reduceRight | 从右往左将集合归约为一个值。 |
| reject | filter 的反向操作,排除符合条件的元素。 |
| sample | 随机获取一个元素。 |
| sampleSize | 随机获取 n 个元素。 |
| shuffle | 打乱集合顺序(洗牌)。 |
| size | 返回集合的大小(数组长度或对象属性数)。 |
| some | 检查是否 存在 任意元素通过真值检测。 |
| sortBy | 升序排序。 |
Date (日期)
| 方法 | 功能简介 |
|---|---|
| now | 获取当前时间戳(毫秒数)。 |
Function (函数)
| 方法 | 功能简介 |
|---|---|
| after | 创建一个只有在调用 n 次后才会执行的函数。 |
| ary | 限制函数接收的参数个数。 |
| before | 创建一个调用次数不超过 n 次的函数。 |
| bind | 绑定函数的 this 和参数。 |
| bindKey | 绑定对象方法的键(支持动态方法)和参数。 |
| curry | 函数柯里化。 |
| curryRight | 类似 curry,但参数由右向左应用。 |
| debounce | 防抖:多次触发只执行最后一次。 |
| defer | 推迟调用函数直到调用栈清空。 |
| delay | 延迟 n 毫秒后调用函数。 |
| flip | 翻转参数顺序。 |
| memoize | 函数结果缓存(记忆化)。 |
| negate | 结果取反(真变假,假变真)。 |
| once | 创建一个只能调用一次的函数。 |
| overArgs | 先转换参数,再调用函数。 |
| partial | 部分应用参数(预设参数)。 |
| partialRight | 类似 partial,但参数追加到末尾。 |
| rearg | 根据指定索引重新排列参数。 |
| rest | 创建接收剩余参数(将参数收集为数组)的函数。 |
| spread | 将数组参数展开传给函数。 |
| throttle | 节流:每隔一段时间只执行一次。 |
| unary | 创建一个最多只接受一个参数的函数。 |
| wrap | 将函数包装在另一个函数中。 |
Lang (语言/类型)
| 方法 | 功能简介 |
|---|---|
| castArray | 强制转换为数组。 |
| clone | 浅拷贝。 |
| cloneDeep | 深拷贝。 |
| cloneDeepWith | (customizer) 支持定制的递归深拷贝。 |
| cloneWith | (customizer) 支持定制的浅拷贝。 |
| conformsTo | 检查对象是否符合源对象的属性断言。 |
| eq | 执行 SameValueZero 比较。 |
| gt | 大于 (>)。 |
| gte | 大于等于 (>=)。 |
| isArguments | 检查是否是 arguments 对象。 |
| isArray | 检查是否是数组。 |
| isArrayBuffer | 检查是否是 ArrayBuffer 对象。 |
| isArrayLike | 检查是否是类数组(有 length 属性且非函数)。 |
| isArrayLikeObject | 检查是否是类数组且为对象。 |
| isBoolean | 检查是否是布尔值。 |
| isBuffer | 检查是否是 Buffer。 |
| isDate | 检查是否是 Date 对象。 |
| isElement | 检查是否是 DOM 元素。 |
| isEmpty | 检查是否为空(对象/数组/集合)。 |
| isEqual | 执行 深比较 来确定两值是否相等。 |
| isEqualWith | (customizer) 支持定制的深比较。 |
| isError | 检查是否是 Error 对象。 |
| isFinite | 检查是否是有限数值。 |
| isFunction | 检查是否是函数。 |
| isInteger | 检查是否是整数。 |
| isLength | 检查是否是有效的类数组长度。 |
| isMap | 检查是否是 Map 对象。 |
| isMatch | 检查是否包含匹配的属性(部分深比较)。 |
| isMatchWith | (customizer) 支持定制的属性匹配。 |
| isNaN | 检查是否是 NaN。 |
| isNative | 检查是否是原生函数。 |
| isNil | 检查是否是 null 或 undefined。 |
| isNull | 检查是否是 null。 |
| isNumber | 检查是否是数字。 |
| isObject | 检查是否是对象(含数组、函数等)。 |
| isObjectLike | 检查是否像对象(typeof object 且非 null)。 |
| isPlainObject | 检查是否是普通对象(由 {} 或 new Object 创建)。 |
| isRegExp | 检查是否是正则对象。 |
| isSafeInteger | 检查是否是安全整数(IEEE-754)。 |
| isSet | 检查是否是 Set 对象。 |
| isString | 检查是否是字符串。 |
| isSymbol | 检查是否是 Symbol。 |
| isTypedArray | 检查是否是类型化数组。 |
| isUndefined | 检查是否是 undefined。 |
| isWeakMap | 检查是否是 WeakMap。 |
| isWeakSet | 检查是否是 WeakSet。 |
| lt | 小于 (<)。 |
| lte | 小于等于 (<=)。 |
| toArray | 转换为数组。 |
| toFinite | 转换为有限数字。 |
| toInteger | 转换为整数。 |
| toLength | 转换为适用于类数组长度的整数。 |
| toNumber | 转换为数字。 |
| toPlainObject | 转换为普通对象(扁平化继承属性)。 |
| toSafeInteger | 转换为安全整数。 |
| toString | 转换为字符串。 |
Math (数学)
| 方法 | 功能简介 |
|---|---|
| add | 加法。 |
| ceil | 向上取整。 |
| divide | 除法。 |
| floor | 向下取整。 |
| max | 取最大值。 |
| maxBy | 根据迭代器取最大值。 |
| mean | 求平均值。 |
| meanBy | 根据迭代器求平均值。 |
| min | 取最小值。 |
| minBy | 根据迭代器取最小值。 |
| multiply | 乘法。 |
| round | 四舍五入。 |
| subtract | 减法。 |
| sum | 求和。 |
| sumBy | 根据迭代器求和。 |
Number (数字)
| 方法 | 功能简介 |
|---|---|
| clamp | 将数字限制在指定范围内。 |
| inRange | 判断数字是否落在范围 (含起排终)。 |
| random | 生成一个范围内的随机数。 |
Object (对象)
| 方法 | 功能简介 |
|---|---|
| assign | 分配自身可枚举属性(浅拷贝合并)。 |
| assignIn | 分配自身和继承的可枚举属性(类似 extend)。 |
| assignInWith | 自定义合并逻辑的 assignIn。 |
| assignWith | 自定义合并逻辑的 assign。 |
| at | 根据路径数组获取值。 |
| create | 使用给定原型创建对象。 |
| defaults | 分配默认值(如果属性不存在)。 |
| defaultsDeep | 递归分配默认值。 |
| findKey | 查找对象的键。 |
| findLastKey | 从右往左查找满足条件的键。 |
| forIn | 遍历对象自身和继承的可枚举属性。 |
| forInRight | 从右往左遍历对象自身及继承属性。 |
| forOwn | 遍历对象自身的可枚举属性。 |
| forOwnRight | 从右往左遍历对象自身属性。 |
| functions | 获取对象的所有函数属性名。 |
| functionsIn | 获取自身及继承的函数属性名。 |
| get | 安全地获取对象属性值(即使路径不存在也不会报错)。 |
| has | 检查路径是否是对象的直接属性。 |
| hasIn | 检查路径是否为自身或继承属性。 |
| invert | 键值反转。 |
| invertBy | 键值反转并根据迭代器分组。 |
| invoke | 调用对象路径上的方法。 |
| keys | 获取对象自身可枚举属性名数组。 |
| keysIn | 获取自身及继承的可枚举属性名。 |
| mapKeys | 遍历并转换对象的键。 |
| mapValues | 遍历并转换对象的值。 |
| merge | 递归合并对象(深合并)。 |
| mergeWith | 自定义合并逻辑的 merge。 |
| omit | 排除指定属性,返回新对象。 |
| omitBy | 根据迭代器结果排除属性。 |
| pick | 选取指定属性,返回新对象。 |
| pickBy | 根据迭代器结果挑选属性。 |
| result | 获取属性值,如果是函数则调用它。 |
| set | 设置对象属性值。 |
| setWith | 自定义创建路径中中间对象的 set。 |
| toPairs | 将对象转换为 [key, value] 数组。 |
| toPairsIn | 将自身及继承属性生成 [key, value] 数组。 |
| transform | reduce 的对象版本,构建新对象。 |
| unset | 移除对象属性。 |
| update | 更新对象属性值。 |
| updateWith | 自定义创建路径中中间对象的 update。 |
| values | 获取对象所有属性值数组。 |
| valuesIn | 获取自身及继承属性值数组。 |
Seq (序列/链式)
| 方法 | 功能简介 |
|---|---|
| _ | 创建包装器,启用隐式链式调用。 |
| chain | 显式链式调用入口。 |
| tap | 链中插入副作用但返回原值。 |
| thru | 链中替换中间值。 |
| _.prototype[Symbol.iterator] | 让包装器可被迭代。 |
| _.prototype.at | _.at 的链式版本。 |
| _.prototype.chain | 启用显式链式调用。 |
| _.prototype.commit | 执行链式序列并返回包装结果。 |
| _.prototype.next | 遵循迭代器协议返回下一个值。 |
| _.prototype.plant | 克隆链式序列并植入新值。 |
| _.prototype.reverse | _.reverse 的链式版本。 |
| _.prototype.value | 解包链式结果。 |
String (字符串)
| 方法 | 功能简介 |
|---|---|
| camelCase | 转换为驼峰写法。 |
| capitalize | 首字母大写,其余小写。 |
| deburr | 去除变音符号。 |
| endsWith | 判断是否以指定字符串结尾。 |
| escape | 转义为 HTML 实体。 |
| escapeRegExp | 转义正则特殊字符。 |
| kebabCase | 转换为短横线写法。 |
| lowerCase | 转换为空格分隔的小写单词。 |
| lowerFirst | 首字母小写。 |
| pad | 两侧填充至指定长度。 |
| padEnd | 右侧填充至指定长度。 |
| padStart | 左侧填充至指定长度。 |
| parseInt | 按基数解析整数。 |
| repeat | 重复字符串 n 次。 |
| replace | 替换匹配的子串。 |
| snakeCase | 转换为下划线写法。 |
| split | 按分隔符拆分字符串。 |
| startCase | 每个单词首字母大写。 |
| startsWith | 判断是否以指定字符串开头。 |
| template | 编译并渲染模板字符串。 |
| toLower | 整体转为小写。 |
| toUpper | 整体转为大写。 |
| trim | 去除两端空白或指定字符。 |
| trimEnd | 去除末尾空白或指定字符。 |
| trimStart | 去除开头空白或指定字符。 |
| truncate | 超长字符串截断加省略号。 |
| unescape | HTML 实体反转义。 |
| upperCase | 转换为空格分隔的大写单词。 |
| upperFirst | 首字母大写。 |
| words | 拆分为单词数组。 |
Util (工具)
| 方法 | 功能简介 |
|---|---|
| attempt | 调用函数并捕获异常。 |
| bindAll | 绑定对象方法到自身。 |
| cond | 根据条件对执行函数。 |
| conforms | 生成属性断言函数。 |
| constant | 返回恒定值函数。 |
| defaultTo | value 为 nullish/NaN 时使用默认值。 |
| flow | 函数自左向右组合。 |
| flowRight | 函数自右向左组合。 |
| identity | 返回首个参数。 |
| iteratee | 将各种简写转换为回调。 |
| matches | 创建深度匹配函数。 |
| matchesProperty | 针对路径值的深度匹配函数。 |
| method | 调用指定路径方法的包装器。 |
| methodOf | method 的反向操作。 |
| mixin | 将方法混入 lodash 或自定义对象。 |
| noConflict | 释放 _ 变量控制权。 |
| noop | 空操作函数。 |
| nthArg | 返回第 n 个参数。 |
| over | 并行调用迭代器并返回结果数组。 |
| overEvery | 所有断言为真才返回 true。 |
| overSome | 任一断言为真就返回 true。 |
| property | 返回路径属性的访问器。 |
| propertyOf | property 的反向操作。 |
| range | 生成升序范围数组。 |
| rangeRight | 生成降序范围数组。 |
| runInContext | 创建新的 lodash 上下文。 |
| stubArray | 返回新空数组。 |
| stubFalse | 返回 false。 |
| stubObject | 返回新空对象。 |
| stubString | 返回空字符串。 |
| stubTrue | 返回 true。 |
| times | 调用函数 n 次并收集结果。 |
| toPath | 转换为属性路径数组。 |
| uniqueId | 生成唯一 ID。 |
Properties (属性)
| 属性 | 简述 |
|---|---|
| _.VERSION | 当前 Lodash 语义化版本号。 |
| _.templateSettings | 模板的全局默认配置对象。 |
| _.templateSettings.escape | 检测需 HTML 转义的占位。 |
| _.templateSettings.evaluate | 检测需执行的代码块。 |
| _.templateSettings.imports | 注入到模板的变量集合。 |
| _.templateSettings.interpolate | 检测需插值的数据。 |
| _.templateSettings.variable | 模板中引用数据对象的变量名。 |