常用的 JS/TS 方法工具包
Using npm:
$ npm i @zhg-x/ts-utils
.
方法名称调用对应的方法。(部分方法不支持该种方式)注: 所有方法都支持通过方法名称直接调用。
示例
add(); // 1.直接通过方法名称调用
NumberUtils.add(); // 2.通过类名.方法名称调用
new NumberChain(0.1).numberAdd(0.2).numberMul(0.3); // 3.方法链式调用
V1.2.0
以下版本不支持该种方式。
支持对日期进行链式操作
实例方法
const date = new Date();
const dateFmt = new DateChain(date).getDateOfInterval(10).dateFormat('YYYY-MM-dd HH:mm:ss');
console.log('dateFmt ==> ' + dateFmt);
支持对数值进行链式调用
实例方法
const valueFmt = new NumberChain(12345678910).numberFmt('2.4');
console.log(`金额格式化:${valueFmt}`); // 金额格式化:12,345,678,910.0000
const obj = new NumberChain(0.1).numberAdd(0.2).numberMul(0.3);
console.log(`四则运算结果= ${obj.value}`); // 四则运算结果= 0.09
getVarType(value: any): string
获取变量类型
实现如下
Object.prototype.toString.call(value).slice(8, -1).toLowerCase()
isNull(value: any): boolean
检查value
值是否为null
isUndefined(value: any): boolean
检查value
值是否为undefined
isNumber(value: any): boolean
检查value
的类型是否为number
或者Number
对象
isString(value: any): boolean
检查value
的类型是否为string
或者String
对象
isBoolean(value: any): boolean
检查value
的类型是否为boolean
或者Boolean
对象
isSymbol(value: any): boolean
检查value
是否为symbol
类型
isArray(value: any): boolean
检查value
类型是否为Array
对象
isDate(value: any): boolean
检查value
值是否为 Date
类型
isMap(value: any): boolean
检查 value
值是否为 Map
类型
isSet(value: any): boolean
检查 value
值是否为 Set
类型
isFunction(value: any): boolean
检查value
是否为Function
isRegExp(value: any): boolean
检查 value
值是否为 RegExp
类型
isEmpty(value: ValueType): boolean
判断 value
是否为空(null
、空字符串
、空对象
、空数组
、空map
、空Set
)
示例如下:
isEmpty({}) // true
isEmpty({id: '1'}) // false
isEmpty([]) // true
isEmpty([1, 2, 3]) // false
isEmpty(new Set()) // true
isEmpty(new Set([])) // true
isEmpty(new Set([10, 11, 12])) // false
以下的方法支持两种方式调用。
数组相关方法
arrayCheck(arr: any): Array<any>
校验参数是否为数组,如果是,则原样返回,否则返回空数组。
日期相关方法
getDateOfInterval(interval: number, baseDate?: Date): Date
获取基础日期的间隔日期
间隔天数,正数则返回基础日期之后的日期,负数则返回基础日期之前的日期
getDatesFromDateRange(startDate: Date, endDate: Date): Date[]
获取时间范围内的日期,包含开始日期和结束日期。
dateFormat(date: Date, fmt?: string): string
日期格式化,默认格式:YYYY-MM-dd
格式说明
示例如下
const date = new Date();
date.setFullYear(2022, 1, 5);
dateFormat(date) // 返回 "2022-02-05"
dateFormat(date, 'YYYY-MM-dd hh:mm:ss') // 返回 "2022-02-05 16:44:11"
数值相关的工具方法
numberCheck(arg: any, transFlag?: boolean): number
检查参数是否为数字或数字字符串,返回number
类型的值。transFlag
默认值为false
。
transFlag
值为 true
且参数值转换为Number
类型后是 NaN
,则将参数值转换为数字 0
,否则不做转换;TypeError
。add(arg1: any, arg2: any): number
两个数字相加
calcAdd(args: any[]): number
多参数 加法运算
calcSub(arg1: any, arg2: any): number
两个数字相减
calcMul(arg1: any, arg2: any): number
两数求积
calcDiv(arg1: any, arg2: any): number
两数求商
对象相关的工具方法
getTag(value: any): string
获取变量类型,返回值为string
类型(全部小写字母)
isObject(value: any): boolean
检查value值是否为对象类型(Object、Array、...)
isObj(value: any): boolean
检查value是否为object
对象
cloneDeep(value: any): any
深拷贝对象自身的属性
字符串相关的工具方法
convertToStr(value: any): string
将变量转换成对应的字符串形式
只支持 number
、string
、boolean
、null
、undefined
、Date
、object
类型的转换。
示例
convertToStr(123); // 返回'123'
convertToStr(new Number(456)); // 返回'456'
convertToStr(''); // 返回''
convertToStr(true); // 返回'true'
convertToStr(null); // 返回"null"
convertToStr(undefined); // 返回'undefined'
convertToStr({name: 'test'}); // 返回'{"name":"test"}'
convertToStr([]); // 返回[]
strIsEqual(arg1: any, arg2: any): boolean
比较两个参数转换成字符串后是否相等
该方法会将number
、null
、undefined
、object
类型的参数值转换为字符串类型后再进行比较。
示例
strIsEqual(123, '123'); // true
strIsEqual(null, undefined); // false
strIsEmpty(value: string): boolean
判断字符串是否为 null
或 空字符串
strIsBlank(value: string): boolean
检验字符串是否为 null
、空串或者空格等
Email:zhangx_study@126.com
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。