t-tools-use v1.8.1
unilts
介绍
自定义工具函数库
安装教程
npm i t-tools-use
使用说明
import untils from 't-tools-use'
方法说明
- call (改变函数运行时的 this 值并且得到函数执行结果)
call(Fn, obj, ...args)
Fn: 需要执行的函数
obj: 函数运行时this指向的对象
args: 函数运行时的参数
- apply (改变函数运行时的 this 值并且得到函数执行结果)
apply(Fn, obj, args)
Fn: 需要执行的函数
obj: 函数运行时this指向的对象
args: 函数运行时的参数
- bind (改变函数运行时的 this 值并且返回一个函数)
bind(Fn, obj, ...args)
Fn: 需要执行的函数
obj: 函数运行时this指向的对象
args: 函数运行时的参数
- throttle (函数节流)
throttle(callback, wait)
callback: 回调函数
wait: 等待间隔
- debounce (函数防抖)
debounce(callback, time)
callback: 回调函数
time: 等待间隔
- map (与数组的map方法一致)
map(arr, callback)
arr: 数组
callback: 回调函数
- reduce (与数组的reduce方法一致)
reduce(arr, callback, initValue)
arr: 数组
callback: 回调函数
initValue: 初始值
- filter (与数组的filter方法一致)
filter(arr, callback)
arr: 数组
callback: 回调函数
- find (与数组的find方法一致)
find(arr, callback)
arr: 数组
callback: 回调函数
- findIndex (与数组的findIndex方法一致)
findIndex(arr, callback)
arr: 数组
callback: 回调函数
- every (与数组的every方法一致)
every(arr, callback)
arr: 数组
callback: 回调函数
- some (与数组的some方法一致)
some(arr, callback)
arr: 数组
callback: 回调函数
- unique (数组去重)
unique(arr)
arr: 需要去重的数组
- concat (与数组的concat方法一致)
concat(arr, ...args)
arr: 数组
args: 需要合并的新数组或者值
- slice (与数组的slice方法一致)
slice(arr, begin, end)
arr: 数组
begin: 开始下标
end: 结束下标
- flatten (数组扁平化)
flatten(arr)
arr: 数组
- chunk (数组分快)
chunk(arr, size)
arr: 数组
size: 每块的数量
- difference (数组差集)
difference(arr1, arr2)
arr1: 原数组
arr2: 比较数组
- pull (删除数组某些元素-会改变原数组)
pull(arr, ...args)
arr: 被删除的数组
args: 需要删除的元素
- pullAll (删除数组某些元素-会改变原数组)
pullAll(arr, args)
arr: 被删除的数组
args: 需要删除的元素的数组
- drop (得到当前数组过滤掉左边size个后剩余元素组成的数组)
drop(arr, size)
arr: 被删除的数组
size: 需要过滤的个数
- dropRight (得到当前数组过滤掉右边size个后剩余元素组成的数组)
dropRight(arr, size)
arr: 被删除的数组
size: 需要过滤的个数
- newInstance (创建Fn构造函数的实例对象)
newInstance(Fn, ...args)
Fn: 构造函数
args: 参数function Person(name, age) { this.name = name; this.age = age; } let obj = newInstance(Person, "张三", 18); 结果:{ name: '张山', age: 18 }
- myInstanceOf (与对象方法instanceOf一致)
myInstanceOf(obj, Fn)
obj: 某个实例对象
Fn: 某个构造函数
- mergeObject (合并多个对象, 返回一个合并后对象)
mergeObject(...objs)
objs: 需要合并的对象
- clone (浅拷贝)
clone(target)
target: 需要拷贝的数据
- deepClone (深拷贝)
deepClone(target)
target: 需要拷贝的数据
- reverseString (生成一个倒序的字符串)
reverseString(str)
str: 字符串
- palindrome (字符串是否为回文)
palindrome(str)
str: 字符串
- truncate (截取字符串, 最后以 ... 结束)
truncate(str, size)
str: 字符串
size: 截取长度
- addEventListener (事件监听(委托))
addEventListener(el, type, Fn, selector)
el: 父级元素选择器
type: 绑定事件类型
Fn: 事件处理程序
selector: 绑定事件元素的选择器
eventBus (事件总线)
// 绑定事件 eventBus.on("login", (data) => { console.log(data + "用户已经登录"); }); eventBus.on("login", (data) => { console.log(data + "用户数据已经写入"); }); //触发事件 eventBus.emit('login', '张三') //解绑事件 eventBus.off('login') // 删除指定事件 eventBus.off() // 删除所有事件
PubSub (消息订阅与发布)
// 订阅消息 let id1 = PubSub.subscribe('pay', data =>{ console.log('商家接到订单,准备开始制作') }) let id2 = PubSub.subscribe('pay', data =>{ console.log('棋手接到了订单,准备开始去取餐') }) let id3 = PubSub.subscribe('cancal', data =>{ console.log('取消订单') }) //取消消息 PubSub.unsubscribe() PubSub.unsubscribe('pay') PubSub.unsubscribe(id1) //发布消息 PubSub.publish('pay', { title: '预想收入' })
axios (自定义axios, 与axios方法一致)
axios({ method, url, params, data })
axios({ method: "POST", url: "http://192.168.10.183:8080/", params: { //参数 a: 100, b: 200, }, data: { // 请求体 c: 50, d: 20, }, }).then((res) => { console.log(res); }); axios .get("http://192.168.10.183:8080/", { params: { a: 100, b: 1000, }, }) .then((res) => { console.log(res); });
- getFloat (保留N为小数)
getFloat(number, n, r)
number: 需要处理的数据
n: 需要保留的位数,默认为 0 r
r: 是否四舍五入。默认为是
- getFractional (输入数值并保留N位小数)
getFractional(val, maxNumber, number)
val: 传入的值
maxNumber: 最大数值限制
number: 保留小数位数,默认两位,0为整
- parseTime (将时间解析为字符串)
parseTime(time, cFormat)
time: 传入的时间
cFormat: 字符串模板,如:{y}-{m}-{d} {h}:{i}:{s}
- formatTime (将时间戳解析为时间过去了多久)
formatTime(time, option)
time: 传入的时间戳
option: 时间太长是字符串展示还是年月日展示
- param2Obj (将url中的参数结构出来)
param2Obj(url)
url: 地址
- getExcelTimeConversion (excel时间格式转换)
getExcelTimeConversion(numb, optio)
numb: excel时间
optio: 字符串模板
- validatenull (判断是否为空)
validatenull(val)
val: 需要判断的数据,为空则返回true
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago