qinhaojoyc-utils
v1.0.8
Published
一个简单的工具库
Readme
chive-utils
本工具库是我的一些小工具,目前仅包括一些常用的工具函数,以及一些常用的正则表达式。后面会持续更新。
安装
- npm 地址: chive-utils
npm install chive-utilstools的使用
| 函数名 | 参数 | 描述 |
| --- | --- | --- |
| sleep | ms | 传入毫秒数,延迟执行后续方法 |
| getParamsType | params | 获取参数类型如string、number、object、array、function、null、undefined等 |
| cutStr | str, len | 截取字符串返回指定长度的字符串,超出部分用省略号代替 |
| debounce | fn, delay | 防抖函数:持续触发时,在传入的毫秒内只会执行最一次的函数调用,一直延迟到不触发为止 |
| throttle | fn, delay | 节流函数:持续触发时,在传入的毫秒内只会执行第一次的函数调用,超过该时间才会执行第二次的函数调用 |
| shallowCopy | target | 浅拷贝:只会复制对象的第一层属性,而对象内部的引用类型属性仍然指向原对象的内部数据。 |
| deepCopy | target | 深拷贝:深拷贝会递归地复制对象的所有层级,使得新对象与原对象完全隔离,不存在引用共享。 |
| flatten | arr | 数组扁平化 |
示例:
import { tools } from 'chive-utils'
tools.sleep(1000).then(() => {})
tools.getParamsType(20)
tools.cutStr('bjvjadsasdasd', 5)
// 防抖节流
tools.debounce(() => {}, 300)
tools.throttle(() => {}, 300)
// 浅拷贝 深拷贝
const obj = { age: 30, children: [ { age: 3 } ] }
tools.shallowCopy(obj)
tools.deepCopy(obj)
// 数组扁平化
tools.flatten([ 1, 2, [ 3, 4, [ 5, 6 ] ] ])validate的使用
| 函数名 | 参数 | 描述 |
| --- | --- | --- |
| validate | rule, value | 支持传入正则和值进行校验,返回true/false |
示例:
import { validatorReg, validate } from "chive-utils";
validate(validatorReg.isPhoneNumber, value);validatorReg的使用
| 属性 | 描述 |
| --- | --- |
| isEmail | 校验邮箱 |
| isPhoneNumber | 手机号码验证 |
| isTelNumber | 固定电话号码验证 |
| isIdCard | 身份证号码验证 |
| isBankCard | 银行卡号 |
| isZHCNUserName | 大陆居民姓名验证 |
| isEmoJi | 表情验证 |
| isHighPassword | 8-16位由数字字母或英文特殊字符(三者都要有)的密码校验 |
| isPassword | 由数字字母英文特殊字符任意组合的密码校验 |
| isNumber | 匹配正整数 |
| isNumberWithZero | 匹配整数 |
validatorReg 是正则匹配,可以直接使用。
数据结构使用
Stack 类
| 方法 | 描述 |
| --- | --- |
| push(element) | 向栈中添加元素 |
| pop | 从栈中移除元素并返回 |
| peek | 查看栈顶元素但不移除 |
| isEmpty | 检查栈是否为空 |
| size | 获取栈的大小 |
| clear | 清空栈 |
示例:
import { Stack } from "chive-utils";
const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); // 输出: 3
console.log(stack.peek()); // 输出: 2
console.log(stack.isEmpty()); // 输出: false
console.log(stack.size()); // 输出: 2Queue 类
| 方法 | 描述 |
| --- | --- |
| enqueue(element) | 入队操作,将元素添加到队列的末尾 |
| dequeue | 出队操作,移除队列的第一个元素并返回它 |
| front | 查看队列的第一个元素 |
| isEmpty | 检查队列是否为空 |
| size | 获取队列的大小 |
| clear | 清空队列 |
| print | 打印队列中的元素 |
示例:
// 使用Queue类
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.print(); // 输出: 1,2,3
console.log(queue.dequeue()); // 输出: 1
queue.print(); // 输出: 2,3