Skip to content

@pmun/utils v0.16.0 ​

Interfaces ​

InterfaceDescription
AppendUniversalOptionConfig"全部"选项的配置
FormatCurrencyOptions货币格式化选项
ObjectToQueryStringOptions-
ParseQueryStringOptions-

Type Aliases ​

Type AliasDescription
DateLike表示日期的各种类型,可以是日期对象、日期字符串或时间戳;支持 10 位秒级和 13 位毫秒级数字字符串,0 和 '0' 视为无效日期
DateRange日期范围元组类型,包含开始和结束时间戳(毫秒)
DateShortcutFn日期快捷键函数类型
DateShortcutItem日期快捷键配置项类型,可以是预设名称字符串或自定义配置对象 支持预设快捷键名称(带自动补全)和任意自定义字符串
DateShortcutsConfig日期快捷键配置对象类型 支持预设快捷键名称和自定义字符串键
PresetShortcutKey预设快捷键名称

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格式化日期为聊天列表时间格式(类似微信聊天列表)
formatCountdown格式化倒计时,超过一天时显示总天数
formatDate格式化日期为指定格式的字符串
formatDuration格式化时间戳为时长字符串
formatFullTime将日期格式化为完整的时间字符串(YYYY-MM-DD HH:mm:ss)
formatHumanReadable格式化日期为人类友好的格式
fromNow获取相对时间描述
getDayOfWeek获取指定日期是一周中的第几天
getDaysInMonth获取指定月份的天数
isDateInRange检查日期是否在指定范围内
isMillisecondTimestamp判断时间戳是否为毫秒级时间戳
now获取当前日期时间的时间戳
parseDate解析日期字符串或时间戳为日期对象
startOf获取日期的开始时间

DateRange ​

NameDescription
commonDateShortcuts常用日期范围快捷键配置
createDateShortcuts创建日期范围快捷键配置
getDateByOffset获取指定偏移天数的日期
getLastDaysRange获取最近 N 天的时间范围
getLastMonthsRange获取最近 N 个月的时间范围
getLastWeeksRange获取最近 N 周的时间范围
getThisHalfYearRange获取本半年的开始和结束时间戳
getThisMonthRange获取本月的开始和结束时间戳
getThisQuarterRange获取本季度的开始和结束时间戳
getThisWeekRange获取本周的开始和结束时间戳(周一到周日)
getThisYearRange获取本年的开始和结束时间戳
getTodayRange获取今天的开始和结束时间戳
getTodayStr获取今天的日期字符串 (YYYY-MM-DD)
getYesterdayStr获取昨天的日期字符串 (YYYY-MM-DD)

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检查一个数字是否为奇数
isZero判断数字或十进制数字字符串是否为零,支持科学计数法 直接检查字符串尾数,避免极小的非零值转成 Number 后被误判为零。
percentage计算百分比值
randomInt生成指定范围内的随机整数(包含边界值)
round将数字四舍五入到指定小数位
toNumber将数字或十进制数字字符串转换为有限 number,支持科学计数法 不接受布尔值、对象、进制前缀、千位分隔符或带单位的字符串。 转换遵循 JavaScript number 的精度规则;需要保留原始精度时使用字符串。
trimDecimalZeros去掉小数末尾多余的零,始终返回字符串 字符串不经过 Number 转换,保留精度、正负号和整数部分的前导零。 支持科学计数法,仅清理尾数的小数零,保留指数部分。

Object ​

FunctionDescription
deepClone深拷贝对象,支持基本类型、数组、对象、日期和正则表达式
deepMerge深度合并多个对象,会递归合并嵌套对象
filterObjectByKeys根据传入的键数组和键名映射对象过滤并重命名对象,返回一个新对象
get从对象中获取指定路径的值,支持点分隔的嵌套路径
hasOwnProp检查对象是否具有指定的自有属性。
invert反转对象的键值对,值变成键,键变成值
mapKeys创建一个新对象,通过函数转换每个键
mapValues创建一个新对象,通过函数转换每个值
merge合并多个对象,后面的对象的属性会覆盖前面的
mergeWithDefaultModel根据默认模型的属性键(key),从源数据中提取匹配字段, 并将非 undefined 的值覆盖到默认模型上,返回安全的新对象。
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字符串,处理异常情况
parseNumberArray安全解析后端下发的数字分隔字符串
pascalCase将字符串转换为帕斯卡命名(PascalCase)
randomString生成指定长度的随机字符串
replaceNBSP替换字符串中的   为不换行空格
snakeCase将字符串转换为蛇形命名(snake_case)
template简单的模板字符串替换
truncate截取字符串并添加省略号
uuid生成 UUID v4
words将字符串分割成单词数组

Url ​

FunctionDescription
appendQuery向 URL 中追加查询参数对象
ensureLeadingSlash确保路径以斜杠 / 开头
getQueryStringify将对象转换为URL查询字符串
parseQueryString将 URL 查询参数字符串解析为 JavaScript 对象(字面量)
stripLeadingSlash确保路径不以斜杠 / 开头