my common utils lib
npm install common-utils-y
import { isBoolean, isEmpty, enterFullscreen } from "common-utils-y";
推荐使用 typescript
默认使用 lib 目录下入口,包含浏览器方法
不需要 browser 目录方法可以使用lib-node
目录
import { isBoolean, isEmpty } from "common-utils-y/lib-node";
目录 | 方法 |
---|---|
array | 数组的常用方法,如 uniqueArray、getUniqueArray |
number | 数字处理, 如 getRandomInt |
string | 字符串处理,如 capitalizeFirstLetter、toCamelStyle |
object | 对象方法,如 deepCopy |
function | 函数,如 debounce、 throttle |
date | 日期方法,如 formatDate |
types | 数据类型判断,如 isBigInt、isBoolean |
browser | 浏览器 api, 如 enterFullscreen、exitFullscreen、getFullscreenElement |
数组相关方法
方法 | 说明 |
---|---|
uniqueArray | 简单数据数组去重方法,适用于数字、字符串等类型数组 |
getUniqueArray | 根据 key 属性去重对象数组 |
findPathInTree | 查找树形数据中从根节点到目标节点的完整路径,未找到则返回空数组 |
数字相关方法
方法 | 说明 |
---|---|
getRandomInt | 获取两个数字间的随机整数值 |
addCommas | 数字添加千分符,小数部分不处理 |
add | 多个数字相加,包含精度处理 |
subtract | 多个数字相减,包含精度处理 |
multiply | 多个数字相乘,包含精度处理 |
divide | 多个数字相除,包含精度处理 |
字符串相关方法
方法 | 说明 |
---|---|
capitalizeFirstLetter | 字符串首字母大写 |
toCamelStyle | 将字符串转为小驼峰写法 |
escapeHTML | 将字符串 HTML 转义 |
escapeCSS | 将字符串 css 转义 |
escapeJS | 将字符串 js 转义 |
对象相关方法
方法 | 说明 |
---|---|
deepCopy | 深拷贝函数,支持处理日期、数组、正则表达式、Map、Set,函数则直接返回 |
函数相关方法
方法 | 说明 |
---|---|
debounce | 防抖函数,支持取消执行 |
throttle | 节流函数,支持立即执行和尾部执行 |
日期相关方法
方法 | 说明 |
---|---|
isDate | 判断是否日期对象 |
isValidDate | 判断是否为合法日期对象 |
formatDate | 将日期对象格式化为自定义字符串 |
日期格式化支持的符号
符合 | 说明 | 示例 |
---|---|---|
yyyy | 4 位年份 | 2025 |
yy | 2 位年份 | 25 |
MM | 2 位月份(补零) | 01-12 |
M | 月份(不补零) | 1-12 |
dd | 2 位日期(补零) | 01-31 |
d | 日期(不补零) | 1-31 |
HH | 2 位小时(24 小时制,补零) | 00-23 |
H | 小时(24 小时制,不补零) | 0-23 |
hh | 2 位小时(12 小时制,补零) | 01-12 |
h | 小时(12 小时制,不补零) | 1-12 |
mm | 2 位分钟(补零) | 00-59 |
m | 分钟(不补零) | 0-59 |
ss | 2 位秒(补零) | 00-59 |
s | 秒(不补零) | 0-59 |
a | 上午/下午 | 上午/下午 |
Q | 季度 | 1-4 |
w | 星期 | '日', '一', '二', '三', '四', '五', '六' |
类型相关方法
方法 | 说明 |
---|---|
isBoolean | 判断参数是否为布尔值 |
isNumber | 判断参数是否为数字 |
isString | 判断参数是否为字符串 |
isFunction | 判断参数是否为函数 |
isBigInt | 判断参数是否为 bigInt |
isArray | 判断参数是否为数组 |
isEmpty | 判断参数是否为 null 或 undefined |
浏览器相关方法
方法 | 说明 |
---|---|
enterFullscreen | 请求进入全屏 |
exitFullscreen | 请求退出全屏 |
getFullscreenElement | 获取当前全屏元素 |
addResizeObserve | 监听元素尺寸变化并执行回调函数 |
removeResizeObserve | 取消监听尺寸的回调函数 |
后续补充一些常用的基础方法,方便不同项目开发。
包括不同数据类型的常用工具封装,以及不同浏览器兼容性 api 的进一步封装。
欢迎各位大佬帮助补充、纠偏。。。