README.md
在日常工作中,有很多重复使用的一些方法、功能,这些方法功能很常见,也有很多框架对此进行了封装,但是其实有很多的方法又用不着,所以这里重复造了轮子,在编译的时候最终转化成es6
的语法,这样的话,我可以随时随地进行引用操作,并能够轻松的使用tree-shaking
去自动剔除不必要的函数、方法。
Array
对数组的常用操作
generateArr 生成数组
使用generateArr
可以轻松的生成数组。
generateArr(num: number, generator: (index?: number, arr?: T[]) => T)
- num 需要生成的数组的长度
- generator 每个值的生成器
这个方法通过指定数组的大小和数组的值生成逻辑来生成数组
removeFromArrayByIndex 通过下标删除数组内容
removeFromArrayByIndex(arr: T[], index: number)
- arr 需要操作的数组
- index 需要删除的位置
removeFromArrayByIndexes 通过下标删除数组内容
removeFromArrayByIndex(arr: T[], indexes: number[])
- arr 需要操作的数组
- indexes 需要删除的位置
removeFromArrayByCondition 通过条件来移除数组中内容
removeFromArrayByCondition(arr: T[], condition: (item: T, index: number) => Boolean)
- arr 需要操作的数组
- condition 条件函数,类似一个过滤器
removeFromArrayByValue 通过某个值来移除数组内容
removeFromArrayByValue(arr: T[], value: T)
- arr 需要操作数组
- value 需要删掉的值
removeFromArrayByValues 通过某组值来移除数组内容
removeFromArrayByValues(arr: T[], values: T[] = [])
Date
对时间的一些常用函数
generateDate 生成日期
generateDate(year: number , month: number , day: number )
Date
函数的新建日期似乎没那么好用,这里写了个函数用来更好的生成Date
; // 新建一个日期,是2018年2月1号
getAllDaysOfMonth 获取一个月的天数
getAllDaysOfMonth(year: number | Date, month?: number): number
这里有两种选择
- 可以直接传入一个
Date
类型参数
; // 获取当前月有多少天
- 也可以直接传入
year
和month
; // 获取2018年2月有几天 返回结果: 28
getBeginWeekOfDate 获取某月的开始星期
getBeginWeekOfDate(year: number | Date, month?: number)
这里有两种选择
- 可以直接传入一个
Date
类型参数
; // 获取当前月第一天是周几
-
也可以直接传入
year
和month
-
; // 获取2018年2月第一天是周几 返回结果: 4
getEndWeekOfDate 获取某月的结束星期
getEndWeekOfDate(year: number | Date, month?: number)
这里的使用同getBeginWeekOfDate
getFormatDate 获取格式化的日期
getFormatDate(date: Date = new Date(), sym: string = ''): string
获取一个日期的格式化字符串
- date 需要格式化的日期
- sym 连接符
; // 加入当前是2018年2月4号 那么返回结果是 20180204; // 加入当前是2018年2月4号 那么返回结果是 2018-02-04
getFormateDateByYearMonthDay 直接通过年月日获取格式化日期
getFormateDateByYearMonthDay(year: number, month: number, day: number, sym: string = '')
- year 年
- month 月
- day 日
- sym 连接符号
; // 20180304
getFormatByMonth 获取格式化的月
getFormatByMonth(date: Date = new Date())
- date 获取某个提起的格式化的月
; // 02
getFormatByDate 获取格式化的日
getFormatByDate(date: Date = new Date())
- date 获取某个提起的格式化的月
; // 03
getWeekDesc 获取日期的星期描述
getWeekDesc(week: number, prefix: string = '星期')
- week 数值 0 1 2 3 4 5 6 7 分别表示从周日到周六
; // 星期二
Object
merge 合并
merge(src: Object = {}, target: Object = {})
;/**{ a: 100, b: 22, c: { a: 88, b: 344, d: 22 }}*/
String
fillStr 填充字符串
fillStr(str: string, size: number = 2, option?: {
sym?: string, // 符号
left?: boolean, // 左侧还是右侧
slice?: boolean, // 是否截取
sliceFromEnd?: boolean // 是否保留右侧
}
- str 需要填充的字符串
- size 填充的长度 默认是
2
- option 填充选项
- sym 填充符号 默认是
空格
- left 是否从左侧填充 默认
true
- slice 多余的是否截取 默认
true
- sliceFromEnd 是否从右向左 默认
true
- sym 填充符号 默认是
let str = 'qianzhixaing';;;str = 'a';;;
str2Arr 将字符串转换成数组
str2Arr(str: string, filter: (str?: string, index?: number) => boolean = () => true)
- str 需要转换的字符串
- filter 过滤条件 不是所有的字符都要转换
removeDupliFromStr 去除重复的字符
removeDupliFromStr(str: string)
; // abc
Type
isNumber 是否是数字
isNumber(val: any)
; // true; // false; // false
isString 是否是字符串
isString(val: any)
isArray 是否是数组
isArray(val: any)
isObject 是否是对象
isObject(val: any, includeArray: boolean = true)
- val 值
- includeArray 是否包含数组 默认包含
; // true; // true;// false
isBoolean是否是布尔对象
isBoolean(val: any)
isSymbol 是否是符号类型
isSymbol(val: any)