| aesDecrypt | AES 解密 |
| aesEncrypt | AES 加密 |
| base64Decode | base64 解码 |
| base64Encode | 将 UTF-8 文本或字节数据编码为 Base64。 |
| camelCase | 转换为驼峰命名 |
| canBeDate | 判断值能否表示有效日期。 |
| canBeNumber | 检查值是否为有限数字或完整的十进制数字字符串。 |
| capitalize | 首字母大写 |
| capitalizeFirst | - |
| checkOPFSAvailable | 异步检测 OPFS 是否真正可用 |
| chunk | 将数组分割成指定大小的数组块 当数组长度不能被分割大小整除时,最后一个块将包含剩余的元素 |
| cloneDeep | 深拷贝值 |
| compressToBase64Url | 压缩字符串到 URL 安全的 Base64 |
| createBroadcastTopic | 创建一个 BroadcastChannel 主题 |
| dateStringToDate | UTC 时间转换 |
| dateStringWithTimezone | UTC 时间转换 |
| debounce | 创建一个防抖函数,确保函数在最后一次调用后延迟指定时间才执行 连续调用会重置计时器,适用于处理频繁触发的事件(如滚动、输入框输入) |
| decodeJWTPayload | 解码 JWT token 的信息 |
| decompressFromBase64Url | 从 URL 安全的 Base64 解压字符串 |
| deepFreeze | 深度冻结对象及其所有嵌套属性,使其不可修改 递归遍历对象的所有属性,对每个对象和函数属性调用 Object.freeze() |
| describeCron | 解析并描述 Cron 表达式 |
| describeCronParts | 解析并描述 Cron 表达式 |
| difference | 计算两个数组的差异,返回仅存在于第一个数组中且不在第二个数组中的元素 元素比较使用严格相等运算符 (===),因此对象仅在引用相同时被视为相等 结果数组保留元素在原数组中的出现顺序 |
| emptyFunction | 空函数,不执行任何操作 常用作默认回调函数或占位符函数 |
| flatten | 将嵌套一层的数组扁平化为一维数组 仅处理数组中的直接嵌套数组元素,不进行深度扁平化 |
| flattenDeep | 将任意深度的嵌套数组完全扁平化为一维数组 |
| flattenPathObjectToPlainObject | 将扁平路径对象转换为嵌套普通对象 |
| formatCountdown | 倒计时 |
| formatDate | - |
| formatFileSize | 格式化文件大小 |
| formatPassTime | 格式化流逝时间(如"3小时前") |
| generateKeyBetween | 在两个排序键之间生成一个新的排序键 用于在有序列表中插入新项目,支持任意位置插入 |
| generateKeysBetween | 在两个排序键之间生成n个排序键 用于批量插入多个项目到有序列表中 |
| get | 安全读取点号、方括号或逗号分隔的嵌套路径 |
| getFileCategory | - |
| getFileExtension | - |
| getRepositoryMethod | 从 EntityType 中安全地获取查询方法 |
| has | 检查对象是否包含指定的嵌套自有属性。 |
| hasRepositoryMethod | 检查对象是否具有指定的查询方法 |
| intersection | 计算多个数组的交集,返回所有输入数组中都存在的元素 使用严格相等运算符 (===) 进行元素比较,结果数组保留第一个数组中的元素顺序 如果输入单个数组,则返回该数组的去重版本 |
| isArrayBuffer | 检查值是否为ArrayBuffer类型 使用instanceof运算符进行判断 |
| isBoolean | 检查值是否为布尔原始值或布尔包装对象 |
| isDate | 检查值是否为Date对象 使用instanceof和Object.prototype.toString.call()两种方式进行判断 |
| isEmpty | 按工具库契约判断值是否为空 |
| isEqual | 深度比较两个值是否相等 |
| isEqualDate | - |
| isEqualUint8Array | - |
| isFloat | 是否是浮点数 |
| isFunction | 检查值是否为可调用函数,并保留已有函数签名。 |
| isImageType | - |
| isInt | - |
| isIntArray | - |
| isISODateString | 判断字符串是否为带时区的完整 ISO 日期时间。 |
| isMSTime | 检查是否是毫秒时间戳 |
| isNil | 检查值是否为null或undefined 使用严格相等(===)进行比较 |
| isNumber | 检查值是否为非 NaN 的 number 原始值。 |
| isNumberArray | - |
| isObject | 检查值是否为纯对象(通过Object构造函数创建的对象) 排除数组、null、日期、正则表达式等特殊对象 |
| isObjectLike | - |
| isOPFSSupported | 检测当前环境是否暴露 OPFS API |
| isPlainObject | 检查值是否为纯对象(通过Object构造函数创建的普通对象) 排除数组、日期、正则表达式、Map、Set等特殊对象 |
| isPreviewableType | - |
| isPrimitive | 是否是原始类型(string、number、boolean、symbol、bigint、null、undefined) |
| isPromise | 检查值是否包含可调用的 then 方法。 |
| isRegExp | 是否是正则表达式 |
| isString | 检查值是否为字符串类型 使用typeof运算符进行判断,返回布尔值 |
| isStringArray | - |
| isSymbol | - |
| isUint8Array | 检查值是否为Uint8Array类型 使用instanceof运算符进行判断 |
| kebabCase | 转换为 kebab-case |
| logError | 以表格形式打印错误信息 |
| msTimeToMilliseconds | ms 时间转换为毫秒 value https://github.com/vercel/ms |
| needArray | 将任意值标准化为数组格式 |
| nextMacroTask | 在下一个宏任务中执行函数 使用 setTimeout(fn, 0) 将函数推迟到当前执行栈清空后执行 |
| nextMicroTask | 将函数推迟到下一个微任务队列执行 |
| numberStep | 将数值向上取整到最接近的步长倍数 常用于表单控件、网格布局等需要按固定间隔取值的场景 |
| numberStepScreenSize | 根据设备像素比调整数值后,按步长取整 主要用于处理不同DPI屏幕下的尺寸计算,确保在高分辨率屏幕上保持合适的步长 |
| numberStrip | 去除数字的无用小数位,解决浮点数精度问题 通过限制有效数字位数来消除JavaScript浮点数运算产生的微小误差 例如:0.1 + 0.2 通常得到 0.30000000000000004,使用本函数可得到 0.3 |
| omit | 从对象浅拷贝中删除指定自有属性 |
| omitBy | 创建排除满足断言属性后的新对象 |
| once | 单次执行函数 |
| orderBy | 根据指定属性和排序方向对数组进行多字段排序 |
| parseChineseNumber | 解析中文数字 |
| parseCron | 解析并描述 Cron 表达式 |
| parseTime | 计算两个日期之间的时间差,并分解为年、月、日、时、分、秒 |
| performChunk | 分片执行任务 只能在浏览器环境中执行 把一个大任务分片执行,每次执行一小部分任务,然后让出主线程,等待下一次执行 |
| pick | 从对象中选取指定的属性,创建并返回一个新对象 只包含指定的自有属性,忽略继承属性和不存在的属性 当输入对象为null/undefined时,返回空对象 |
| pickBy | 创建仅保留满足断言属性的新对象 |
| plainObjectToFlattenPathObject | 将普通对象扁平化为路径键值对象 |
| queryParse | 解析查询字符串,重复键聚合为字符串数组 |
| queryStringify | 序列化为 URL 查询参数 |
| randomArrayItem | 从数组中随机选择一个元素。 |
| randomFloat | 生成指定范围内的随机浮点数 使用 Math.random() 生成 0 到 1 之间的随机数,然后映射到指定范围 |
| randomInt | 生成随机整数 |
| randomString | 使用 Web Crypto 和 rejection sampling 生成无偏随机字符串。 |
| randomUintByLength | 生成指定位数的随机正整数 通过生成随机数字字符串然后转换为数字实现 |
| randomUintString | 生成指定长度的数字字符串,非空结果的第一位不为 0。 |
| renameOpfsEntry | Safely renames one OPFS entry without overwriting an existing target. |
| requestIdleCallbackPolyfill | - |
| rmbUppercase | 转换人民币大写 |
| rsaDecrypt | RSA 解密 |
| rsaEncrypt | RSA 加密 |
| rsaGenerateKey | 生成 RSA 密钥对 |
| set | 设置对象中指定路径的属性值,自动创建不存在的嵌套路径。 路径中的数字索引会创建数组;危险的原型链路径会抛出 TypeError。 |
| setBase | - |
| setWith | 使用自定义容器工厂设置嵌套路径。 |
| similarity | 计算字符串相似度 |
| sleep | 等待指定的毫秒数 |
| snakeCase | 将字符串转换为蛇形格式 |
| sortBy | 创建按直接属性自然升序排列的比较函数 |
| startCase | - |
| stringSingleline | 将多行文本转换为单行文本,移除多余的空白字符 去除首尾空白,并将连续的空白字符替换为单个空格 |
| stringTemplate | 使用对象路径替换模板中的 ${path} 占位符 |
| stringTime | 将时间数值格式化为带单位的字符串 |
| stringToArrayBuffer | 字符串转 ArrayBuffer |
| throttle | 创建一个节流函数,确保函数在指定时间间隔内最多执行一次 与防抖不同,节流会定期执行函数,而非等待最后一次调用后执行,适用于限制高频事件(如滚动、调整大小)的触发频率 |
| toInt | 将值转换为整数,使用向下取整(正数)和向上取整(负数)的策略 |
| toPlainObject | 将值转换为只包含自有可枚举属性的普通对象 |
| traverseObjectKeys | 深度优先遍历普通对象中的所有自有键 |
| tryToNumber | 安全地将值转换为数字,只在能转换为有效数字时才转换 如果无法转换为有效数字(NaN、无穷大等),则返回原值不变 |
| uint8ArrayToString | 将Uint8Array转换为UTF-8字符串 使用TextDecoder API进行解码,确保正确处理多字节字符 |
| uncapitalize | 首字母小写 |
| uncapitalizeFirst | - |
| unionBy | 根据指定的键函数对数组进行去重,返回唯一元素的新数组 使用键函数提取每个元素的唯一标识符,保留第一次出现的元素 |
| unixTimestamp | 获取当前 Unix 时间戳(秒) |
| urlJoin | 拼接 URL |
| utf8StringToArrayBuffer | UTF-8 字符串转 ArrayBuffer |
| zipObject | 创建一个对象,将键数组和值数组/函数配对组合 支持多种值来源:固定值、值数组或值生成函数 |