Skip to content

@pmun/utils v0.3.10

Type Aliases

Type AliasDescription
DateLike表示日期的各种类型,可以是日期对象、日期字符串或时间戳

Array

FunctionDescription
appendUniversalOption在选项数组前添加一个"全部"选项
arrayReplaceNBSP替换数组数据中指定字段的   为不换行空格
arrayToObject数组转为对象
chunk将数组分成指定大小的块
difference返回第一个数组中不存在于其他数组的元素
first获取数组中的第一个元素
flatten将嵌套数组扁平化一层
flattenDeep递归扁平化嵌套数组至完全扁平
flattenDepth递归扁平化数组至指定深度
groupBy根据条件对数组中的元素进行分组
intersection返回所有数组的交集(所有数组中都存在的元素)
isEqual比较两个数组是否相等(元素顺序和值都相同)
last获取数组中的最后一个元素
remove从数组中移除指定的项
renameTreeNodes递归重命名树形结构节点的属性。
sample从数组中随机选择一个元素
shuffle随机打乱数组元素顺序
sortBy根据迭代函数返回的值进行排序
transformTree递归转换树形结构的节点,支持重命名、新增、过滤属性。
union返回所有数组的并集(去重后的所有元素)
uniqBy根据迭代函数返回的值进行数组去重
unique数组去重,移除数组中的重复元素

Date

FunctionDescription
add向日期添加指定时间
addDays向日期添加指定天数
addMonths向日期添加指定月数
addYears向日期添加指定年数
convertToDayjsParam转换为 dayjs 可接收的参数格式
createDate创建 dayjs 对象
diff计算两个日期之间的差异
endOf获取日期的结束时间
formatChatTime格式化日期为聊天列表时间格式(类似微信聊天列表)
formatDate格式化日期为指定格式的字符串
formatDuration格式化时间戳为时长字符串
formatFullTime将日期格式化为完整的时间字符串(YYYY-MM-DD HH:mm:ss)
formatHumanReadable格式化日期为人类友好的格式
fromNow获取相对时间描述
getDayOfWeek获取指定日期是一周中的第几天
getDaysInMonth获取指定月份的天数
isDateInRange检查日期是否在指定范围内
isMillisecondTimestamp判断时间戳是否为毫秒级时间戳
now获取当前日期时间的时间戳
parseDate解析日期字符串为日期对象
startOf获取日期的开始时间

Is

FunctionDescription
isArray检查值是否为数组类型
isBoolean检查值是否为布尔类型
isClass检查值是否为类构造函数
isDate检查值是否为日期类型
isEmpty检查值是否为空(null、undefined、空字符串、空数组或空对象)
isEmptyObject检查对象是否为空对象(没有自身可枚举属性)
isFunction检查值是否为函数类型
isMap检查值是否为 Map
isMobilePhone检查值是否为有效的手机号码
isNaN检查值是否为 NaN
isNull检查值是否为 null
isNullOrUndefined检查值是否为 null 或 undefined
isNumber检查值是否为数字类型
isObject检查值是否为对象类型(不包括 null)
isPlainObject检查值是否为普通对象(由 Object 构造函数创建或对象字面量)
isPrimitive检查值是否为原始类型(string、number、boolean、symbol、bigint、null、undefined)
isPromise检查值是否为 Promise
isRegExp检查值是否为正则表达式
isSet检查值是否为 Set
isString检查值是否为字符串类型
isSymbol检查值是否为 Symbol
isUndefined检查值是否为 undefined

Number

FunctionDescription
clamp确保数字在指定范围内
formatCurrency将数字格式化为货币字符串
formatNumberWithTenThousand将数值转换为带"万"单位的字符串
formatThousands将数字格式化为带千位分隔符的字符串
isEven检查一个数字是否为偶数
isOdd检查一个数字是否为奇数
percentage计算百分比值
randomInt生成指定范围内的随机整数(包含边界值)
round将数字四舍五入到指定小数位

Object

FunctionDescription
deepClone深拷贝对象,支持基本类型、数组、对象、日期和正则表达式
deepMerge深度合并多个对象,会递归合并嵌套对象
filterObjectByKeys根据传入的键数组和键名映射对象过滤并重命名对象,返回一个新对象
get从对象中获取指定路径的值,支持点分隔的嵌套路径
hasOwnProp检查对象是否具有指定的自有属性。
invert反转对象的键值对,值变成键,键变成值
mapKeys创建一个新对象,通过函数转换每个键
mapValues创建一个新对象,通过函数转换每个值
merge合并多个对象,后面的对象的属性会覆盖前面的
objectToQueryString将对象转换为 URL 查询字符串
omit从对象中排除指定的属性,创建一个新对象
pick从对象中选择指定的属性,创建一个新对象

Promise

FunctionDescription
debounce创建一个防抖函数(异步版本)
delay延迟指定的毫秒数
parallel并发执行多个 Promise,并限制同时执行的数量
retry重试失败的 Promise
sequential顺序执行多个 Promise(一个接一个)
throttle创建一个节流函数(异步版本)
timeout带超时控制的 Promise

String

FunctionDescription
camelToKebab将驼峰命名转换为短横线命名(kebab-case)
capitalize将字符串首字母转为大写
ensureRpxUnit确保值具有 rpx 单位,主要用于小程序/uni-app 样式处理
escapeHtml将字符串中的 HTML 特殊字符转义,防止 XSS 攻击
isEmptyString检查字符串是否为空或只包含空白字符
isValidEmail检查字符串是否为有效的电子邮件地址
isValidUrl检查字符串是否为有效的 URL
kebabToCamel将短横线命名(kebab-case)转换为驼峰命名(camelCase)
parseJsonStr解析JSON字符串,处理异常情况
pascalCase将字符串转换为帕斯卡命名(PascalCase)
randomString生成指定长度的随机字符串
replaceNBSP替换字符串中的   为不换行空格
snakeCase将字符串转换为蛇形命名(snake_case)
template简单的模板字符串替换
truncate截取字符串并添加省略号
words将字符串分割成单词数组

Url

FunctionDescription
getQueryStringify将对象转换为URL查询字符串