1.0.20 • Published 8 months ago

utils-xhh v1.0.20

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

Install

npm i utils-xhh -S

Usage

按需导入

例如:

import { trimFn } from 'utils-xhh'

API

throttle

/**
 * @description 节流(支持设置立即执行)
 * @param {function} fn 执行的函数
 * @param {number} wait 执行间隔时长
 * @param {boolean} immediate 是否立即执行函数
 * @returns {function} 
 */

debounce

/**
 * @description 防抖(支持设置立即执行)
 * @param {function} fn 执行的函数
 * @param {number} wait 执行间隔时长
 * @param {boolean} immediate 是否立即执行函数
 * @returns {function} 
 */

deepClone

/**
 * @description 深拷贝
 * @param {object} obj 原对象
 * @returns {object} 深拷贝的新对象
 */

deepMerge

/**
 * @description JS对象深度合并
 * @param {object} target 需要拷贝的对象
 * @param {object} source 拷贝的来源对象
 * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)
 */

equals

/**
 * @description 判断是否全等
 * @param a 变量a
 * @param b 变量b
 * @returns {boolean} 
 */

uniqueList

/**
 * @description 数组去重
 * @param {array} 原数组
 * @returns {array} 去重后的数组
 */

twoDecimalfn

/**
 * @description 保留2位小数(金额等)
 * @param {number|string} value
 * @returns {string} 
 */

setThousandsSeparator

/**
 * @description 实现千位分隔符
 * @param {number|string} num 数字
 * @param {boolean} needPoint 是否需要保留2位小数
 * @returns {string} 
 */

priceFormat

/**
 * @description 数字格式化
 * @param {number|string} number 要格式化的数字
 * @param {number} decimals 保留几位小数
 * @param {string} decimalPoint 小数点符号,默认 .
 * @param {string} thousandsSeparator 千分位符号,默认 ,
 * @returns {string} 格式化后的数字
 */

numberMul

/**
 * @description 小数点相乘算法(精度问题)
 * @param {number|string} arg1
 * @param {number|string} arg2
 * @returns {number} 
 */

addNum

/**
 * @description 小数点相加
 * @param {number|string} arg1
 * @param {number|string} arg2
 * @returns {number} 
 */

minusNum

/**
 * @description 小数点相减
 * @param {number|string} arg1
 * @param {number|string} arg2
 * @returns {number} 
 */

handleToFixed

/**
* @description toFixed()保留指定小数位
* @param {number} number 需要转化的数字
* @param {number} d 小数点保留位数
* @returns {string}
*/

getStrCount

/**
 * @description 查找字符串中出现最多的字符和个数
 * @param {string} str
 * @returns {object} 
 */

getUrlParams

/**
 * @description 获取url参数值
 * @param {string} name key值
 * @returns {string} 
 */

paramsToObj

/**
 * @description url解析成键值对
 * @param {string} url
 * @returns {object} 
 */

queryParams

/**
 * @description 对象转url参数
 * @param {object} data 对象
 * @param {Boolean} isPrefix 是否自动加上"?"
 * @param {string} arrayFormat 规则 indices|brackets|repeat|comma
 * @returns {string} 
 */

getObjectURL

/**
 * @description 创建 Blob URL
 * @param file 对象
 * @returns {string}
 */

base64ToFile

/**
 * @description 将base64 的图片转换成file对象上传
 * @param {string} data 图片地址
 * @returns file类型的文件
 */

getUserAgent

/**
 * @description 判断浏览器环境(isTablet,isPhone,isAndroid,isMobile,isPc,isChrome)
 * @returns {object}
 */

getStyle

/**
 * @description 获取元素样式
 * @param {object} obj dom对象
 * @param {string} attr 属性
 * @returns {string} 属性值
 */

isLeapYear

/**
 * @description 判断闰年
 * @param {string} year 年
 * @returns {boolean}
 */

formatDate

/**
 * @description 格式化日期
 * @param {string|date|number} date 日期
 * @param {string} format 需要转化的格式
 * @returns {string} 格式化后的日期
 */

diffDays

/**
 * @description 两个日期相差多少天
 * @param {string} date
 * @param {string} otherDate
 * @returns {number}
 */

addDays

/**
 * @description 加减 N 天
 * @param {string} date 原日期
 * @param {string|number} value 加减的天数
 * @returns {string} 新日期
 */

getProperty

/**
 * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式
 * @param {object} obj 对象
 * @param {string} key 需要获取的属性字段
 * @returns {*}
 */

setProperty

/**
 * @description 设置对象的属性值,例如'a.b.c'的形式进行设置
 * @param {object} obj 对象
 * @param {string} key 需要设置的属性
 * @param {string} value 设置的值
 */

isEmail

/**
 * @description 验证电子邮箱格式
 * @param {string} value 电子邮箱
 * @returns {boolean}
 */

isMobile

/**
 * @description 验证手机格式
 * @param {string} value 手机号码
 * @returns {boolean}
 */

isLandlinePhone

/**
 * @description 是否是固定电话
 * @param {string} value 电话
 * @returns {boolean}
 */

isUrl

/**
 * @description 验证URL格式
 * @param {string} value URL
 * @returns {boolean}
 */

isWeixin

/**
 * @description 是否是微信浏览器
 * @returns {boolean}
 */

isSafari

/**
 * @description 是否是Safari浏览器
 * @returns {boolean}
 */

trimFn

/**
 * @description 去除空格
 * @param {string} str 需要去除空格的字符串
 * @param {string} pos both|left|right|all 默认both
 * @returns {string} 去除空格后的字符串
 */

isChinese

/**
 * @description 是否是中文
 * @param {string} value
 * @returns {boolean}
 */

isPromise

/**
 * @description 是否是promise对象
 * @param {object} value
 * @returns {boolean}
 */

padZero

/**
 * @description 补零操作(比如日期的月或日)
 * @param {string} value 需要补零的变量
 * @param {string} num (补零后的)总长度
 * @returns {string}
 */

isIDCard

/**
 * @description 身份证号验证
 * @param {string} 身份证号
 * @returns {boolean}
 */

getTouchDirection

 /**
 * @description 获取手指滑动方向
 * @param {number} startx
 * @param {number} starty
 * @param {number} endx
 * @param {number} endy
 * @returns {number} 0 未滑动,1 向上,2 向下,3 向左,4 向右
 */

handleExportFile

/**
 * @description 处理后端返回的文件流(接口请求设置 responseType: 'blob')
 * @param {object} res 接口返回的文件流
 * @param {string} fileNameValue 获取文件名,默认 filename= 截取
 */

toPageTop

/**
* @description 回到页面顶部
*/

isDarkMode

/**
* @description 是否是黑暗应用模式
* @returns {boolean}
*/

scrollToView

/**
* @description 元素滚动到可视区
* @param {object} element dom
* @param {string} behavior auto|smooth 默认 smooth
* @param {string} block start|center|end|nearest 默认 start
* @param {string} inline start|center|end|nearest 默认 nearest
*/
1.0.19

9 months ago

1.0.18

9 months ago

1.0.17

9 months ago

1.0.16

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.11

10 months ago

1.0.10

10 months ago

1.0.20

8 months ago

1.0.15

10 months ago

1.0.14

10 months ago

1.0.13

10 months ago

1.0.12

10 months ago

1.0.7

12 months ago

1.0.6

1 year 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

1.0.0

2 years ago