Skip to content

方法速查表

快速浏览所有 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) 根据比较器处理后的结果去重。
unzipzip 的逆操作,重组数组。
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从右往左将集合归约为一个值。
rejectfilter 的反向操作,排除符合条件的元素。
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] 数组。
transformreduce 的对象版本,构建新对象。
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超长字符串截断加省略号。
unescapeHTML 实体反转义。
upperCase转换为空格分隔的大写单词。
upperFirst首字母大写。
words拆分为单词数组。

Util (工具)

方法功能简介
attempt调用函数并捕获异常。
bindAll绑定对象方法到自身。
cond根据条件对执行函数。
conforms生成属性断言函数。
constant返回恒定值函数。
defaultTovalue 为 nullish/NaN 时使用默认值。
flow函数自左向右组合。
flowRight函数自右向左组合。
identity返回首个参数。
iteratee将各种简写转换为回调。
matches创建深度匹配函数。
matchesProperty针对路径值的深度匹配函数。
method调用指定路径方法的包装器。
methodOfmethod 的反向操作。
mixin将方法混入 lodash 或自定义对象。
noConflict释放 _ 变量控制权。
noop空操作函数。
nthArg返回第 n 个参数。
over并行调用迭代器并返回结果数组。
overEvery所有断言为真才返回 true。
overSome任一断言为真就返回 true。
property返回路径属性的访问器。
propertyOfproperty 的反向操作。
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模板中引用数据对象的变量名。