1.0.12 • Published 1 year ago

daily-tool v1.0.12

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

不断更新的日常用到的函数

下载命令

npm i daily-tool

使用方式如下:

import { isEmpty } from 'daily-tool'

const example = {
	name: '张三'
}

const test = () => {
    if (isEmpty(example)) {
	    return console.log("该对象为空")
    }

    console.log("该对象不为空")
}

test()

判断类型

1、typeJudge

函数名称:typeJudge 作用:判断数据类型 类型:isArray | isObject | isString | isDate | isRegExp | isFunction | isBoolean | isNumber | isNull | isUndefined 例子:typeJudge().isArray(example)

/**
 * 判断数据类型
 * @param {*} target 需要判断的值
 * @returns
 */
typeJudge().isArray(example)
typeJudge().isObject(example)
typeJudge().isString(example)
typeJudge().isDate(example)
typeJudge().isRegExp(example)
typeJudge().isFunction(example)
typeJudge().isBoolean(example)
typeJudge().isNumber(example)
typeJudge().isNull(example)
typeJudge().isUndefined(example)

判断是否为空

1.isEmpty

函数名称:isEmpty 作用:判断是否是空 例子:isEmpty(example)

/**
 * 判断是否是空
 * @param example 需要判断的值
 * @returns {boolean}
 */
isEmpty(example)
2、isEmptyObject

函数名称:isEmptyObject 作用:判断是否是空对象 例子:isEmptyObject(example)

/**
 * 判断是否是空对象
 * @param example 需要判断的值
 * @returns {boolean}
 */
isEmptyObject(example)
3、isEmptyArray

函数名称:isEmptyArray 作用:判断是否是空数组 例子:isEmptyArray(example)

/**
 * 判断是否是空数组
 * @param example 需要判断的数组
 * @returns {boolean}
 */
isEmptyArray(example)
4、isEmptyString

函数名称:isEmptyString 作用:判断是否是空字符串 例子:isEmptyString(example)

/**
 * 判断是否是空字符串
 * @param example 需要判断的字符串
 * @returns {boolean}
 */
isEmptyString(example)
5、isEmptyNumber

函数名称:isEmptyNumber 作用:判断是否是空数值 例子:isEmptyNumber(example)

/**
 * 判断是否是空数值
 * @param example 需要判断的数值
 * @returns {boolean}
 */
isEmptyNumber(example)

路径

1、getParamsByUrl

函数名称:getParamsByUrl 作用:根据 url 获取参数 例子:getParamsByUrl(example)

/**
 * 根据 url 获取参数
 * @param example 路径地址
 * @returns {object}
 */
getParamsByUrl(example)
2、encodeUrl

函数名称:encodeUrl 作用:URL 编码 例子:encodeUrl(url)

/**
 * URL编码
 * @param {string} url
 * @return {string}
 */
encodeUrl(url)
3、decodeUrl

函数名称:decodeUrl 作用:URL 解码 例子:decodeUrl(url)

/**
 * URL解码
 * @param {string} url
 * @return {string}
 */
decodeUrl(url)

节点

1、getElementSize

函数名称:getElementSize 作用:获取元素尺寸 例子:getElementSize(example)

/**
 * 获取元素尺寸
 * @param example 节点
 * @returns {object}
 */
getElementSize(document.getElementById('app'))
2、getScrollOffset

函数名称:getScrollOffset 作用:获取滚动条偏移量 例子:getScrollOffset(example)

/**
 * 获取滚动条偏移量
 * @param example 节点
 * @returns {object}
 */
getScrollOffset(document.getElementById('app'))
3、getViewportSize

函数名称:getViewportSize 作用:获取视口尺寸 例子:getViewportSize()

/**
 * 获取视口尺寸
 * @returns {object}
 */
getViewportSize()
4、findParents

函数名称:findParents 作用:找元素 el 的第 n 级父元素 例子:findParents(el, n)

/**
 * 找元素的第 n 级父元素
 * @param el 节点
 * @param n 级数
 * @returns {object}
 */
findParents(el, n)
5、matcheParentsEl

函数名称:matcheParentsEl 作用:判断 parentSelector 是否是 el 的父节点 例子:matcheParentsEl(el, parentSelector)

/**
 * 判断 parentSelector 是否是 el 的父节点
 * @param el 节点
 * @param parentSelector 节点
 * @returns {Boolean}
 */
matcheParentsEl(el, parentSelector)

日期

1、formatDate

函数名称:formatDate 作用:格式化日期(时间戳转换成日期) 例子:formatDate(example)

/**
 * 格式化日期(时间戳转换成日期)
 * @param example 时间戳
 * @returns {String}
 */
formatDate(example)
2、convertToTimestamp

函数名称:convertToTimestamp 作用:日期转换成时间戳 例子:convertToTimestamp('2023-11-25')或 convertToTimestamp('2023/11/25')或 convertToTimestamp('2023.11.25')

/**
 * 日期转换成时间戳
 * @param example 日期
 * @returns {String}
 */
convertToTimestamp(example)

数组

1、sortByProperty

函数名称:sortByProperty 作用:数组按 type 升序或者降序排列,第三个参数'asc'是升序,'desc'是降序 例子:sortByProperty(data, property, 'desc')

/**
 * 数组按 type 升序或者降序排列,第三个参数'asc'是升序,'desc'是降序
 * @param data 数组
 * @param property 排序字段
 * @param type 排序类型
 * @returns {Object}
 */
sortByProperty(data, property, type)
2、bubbleSort

函数名称:bubbleSort 作用:数组冒泡排序 例子:bubbleSort(arr)

/**
 * 数组冒泡排序
 * @param arr 数组
 * @returns {Object}
 */
bubbleSort(arr)
3、removeByCondition

函数名称:removeByCondition 作用:删除数组中符合条件的元素 例子:removeByCondition(arr)

/**
 * 删除数组中符合条件的元素
 * @param arr 数组
 * @param condition 条件
 * @returns {Object}
 */
removeByCondition([1, 2, 3, 4, 5, 6], (item) => [1, 2, 6].includes(item))
4、sumArr

函数名称:sumArr 作用:数组求和 例子:sumArr(arr)

/**
 * 数组求和
 * @param arr 数组
 * @returns {Number}
 */
sumArr([1, 2, 3, 4, 5, 6])
5、averageArr

函数名称:averageArr 作用:数组求平均值 例子:averageArr(arr)

/**
 * 数组求平均值
 * @param arr 数组
 * @returns {Number}
 */
averageArr([1, 2, 3, 4, 5, 6])
6、medianArr

函数名称:medianArr 作用:数组求中位数 例子:medianArr(arr)

/**
 * 数组求中位数
 * @param arr 数组
 * @returns {Number}
 */
medianArr([1, 2, 3, 4, 5, 6])
7、maxArr

函数名称:maxArr 作用:数组求最大值 例子:maxArr(arr)

/**
 * 数组求最大值
 * @param arr 数组
 * @returns {Number}
 */
maxArr([1, 2, 3, 4, 5, 6])
8、minArr

函数名称:minArr 作用:数组求最小值 例子:minArr(arr)

/**
 * 数组求最小值
 * @param arr 数组
 * @returns {Number}
 */
minArr([1, 2, 3, 4, 5, 6])
9、mostFrequent

函数名称:mostFrequent 作用:数组求出现次数最多的元素 例子:mostFrequent(arr)

/**
 * 数组求出现次数最多的元素
 * @param arr 数组
 * @returns {Number}
 */
mostFrequent([1, 2, 3, 4, 5, 6])
10、uniqueArr

函数名称:uniqueArr 作用:数组去重 例子:uniqueArr(arr)

/**
 * 数组去重
 * @param arr 数组
 * @returns {Array}
 */
uniqueArr([1, 2, 3, 4, 5, 6])

时间戳

1、getStartEndTime

函数名称:getStartEndTime 作用:获取各类时间起始时间戳

/**
 *获取各类时间起始时间戳
 */

const {
  nowTimeStamp,
  todayStartTimeStamp,
  todayEndTimeStamp,
  yesterdayStartTimeStamp,
  yesterdayEndTimeStamp,
  thisWeekStartTimeStamp,
  thisWeekEndTimeStamp,
  thisMonthStartTimeStamp,
  thisMonthEndTimeStamp,
  thisYearStartTimeStamp,
  thisYearEndTimeStamp,
} = getStartEndTime()

加载 js 文件

1.loadJs

函数名称:loadJs 作用:加载**.js 文件 例子:loadJs(scriptSrc, successCallback, id, content)

/**
 * 加载**.js文件
 * @param scriptSrc 文件路径
 * @param successCallback 加载成功回调函数
 * @param script 标签id
 * @param content js标签内的内容
 */

<script>loadJs('https://static.wxb.com.cn/xxx.js')</script>
2.isIncludeJs

函数名称:isIncludeJs 作用:是否已经加载过**.js 文件

/**
 *是否已经加载过**.js文件
 * @param name js文件名
 */

<script>isIncludeJs('lodash')</script>

其他

1、deepClone

函数名称:deepClone 作用:深拷贝 说明:obj 是要复制的对象。它可以是任何类型的对象,包括但不限于数组、普通对象、日期、正则表达式和错误对象。cache 是可选参数,默认为空数组,用于检测和阻止循环引用。 当传入的对象 obj 是基础类型(如 string, number, boolean, undefined, null)时,函数直接返回其副本;如果是对象(包括数组、函数等),则会进行深度克隆。对于内置的 Date , RegExp 和 Error 对象,进行了特殊处理。对于数组,逐项复制每一项元素。对于其他对象,复制每个属性。

例子:deepClone(example)

/**
 * 深拷贝
 * @param example 要复制的对象
 * @returns {any}
 */
deepClone(example)
2、getStartEndTime

函数名称:randomNum 作用:指定范围内的随机整数 例子:randomNum(minimum, maximum)

/**
 * 指定范围内的随机整数
 * @param minimum 最小值
 * @param maximum 最大值
 * @returns {int}
 */
randomNum(minimum, maximum)
3、numFilter

函数名称:randomNum 作用:数字超过 99 显示 99+ 例子:numFilter(num,'+')

/**
 * 数字超过 99 显示 99+
 * @param num 数字
 * @param type 超出字符
 * @returns {String}
 */
numFilter(num, '+')
4、computeTime

函数名称:computeTime 作用:计算函数执行所用时间 例子:computeTime(func,args)

/**
 * 计算函数执行所用时间 可带参数
 * @param {*} func 函数
 * @param {*} args 函数参数
 * @returns
 */
computeTime(func, args)
5、isDevice

函数名称:isDevice 作用:判断是 android 还是 ios 还是 web 例子:isDevice()

/**
 * 判断是 android 还是 ios 还是 web
 * @returns
 */
isDevice()
6、isWx

函数名称:isWx 作用:判断是否为微信 例子:isWx()

/**
 * 判断是否为微信
 * @returns
 */
isWx()
7、imgLoadAll

函数名称:imgLoadAll 作用:判断图片是否全部加载完成 例子:imgLoadAll(arr, callback)

/**
 * 判断图片是否全部加载完成
 * @param arr 图片数组
 * @param callback 加载完成回调函数
 * @returns
 */
imgLoadAll(arr, callback)
8、copyTxt

函数名称:copyTxt 作用:复制文本 例子:copyTxt(text, fn)

/**
 * 复制文本
 * @param text 文本
 * @param fn 回调函数
 * @returns
 */
copyTxt(text, fn)
9、downloadBaseFile

函数名称:downloadBaseFile 作用: base64 图片下载 例子:downloadBaseFile(base64, fileName)

/**
 * base64 图片下载
 * @param base64 base64图片
 * @param fileName 文件名
 * @returns
 */
downloadBaseFile(base64, fileName)
10、debounce

函数名称:debounce 作用: 防抖 例子:debounce(func, wait, immediate)

/**
 * 防抖
 * @param func 函数
 * @param wait 延迟时间
 * @param immediate 是否立即执行
 * @returns
 */
debounce(func, wait, immediate)
11、throttle

函数名称:throttle 作用: 节流 例子:throttle(func, delay)

/**
 * 节流
 * @param func 函数
 * @param delay 延迟时间
 * @returns
 */
throttle(func, delay)
12、validatePasswordStrength

函数名称:validatePasswordStrength 作用: 密码强度校验 例子:validatePasswordStrength(password)

/**
 * 密码强度校验
 * @param password 密码
 * @returns
 */
validatePasswordStrength(password)
13、once

函数名称:once 作用: 只执行一次 例子:once(func)

/**
 * 只执行一次
 * @param func 函数
 * @returns
 */
const sayHello = once(() => {
  console.log('Hello, this will be logged only once!')
})

// 调用包装后的函数多次,但实际只执行一次
sayHello() // 输出 "Hello, this will be logged only once!"
sayHello() // 不会再次输出
sayHello() // 也不会再次输出
14、generateUUID

函数名称:generateUUID 作用: 生成 UUID 例子:generateUUID()

/**
 * 生成 UUID
 * @returns
 */
generateUUID()

正则表达式判断

1、checkStr

函数名称:checkStr 作用:正则表达式判断类型 例子:checkStr(str, type)

/**
 * 正则表达式判断
 * @param str 字符串
 * @param type 类型
 * @returns
 */
checkStr(str, type)

type 类型:

类型描述
phone手机号码
tel座机
card身份证
pwd密码以字母开头,长度在 6~18 之间,只能包含字母、数字和下划线
postal邮政编码
QQQQ 号
email邮箱
money金额(小数点 2 位)
URL网址
IPIP
date日期时间
number数字
english英文
chinese中文
lower小写
upper大写
HTMLHTML 标记
1.0.9

1 year ago

1.0.8

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.12

1 year ago

1.0.7

1 year ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago