Options
All
  • Public
  • Public/Protected
  • All
Menu

utils-q - v1.0.4

Index

Functions

_formatDate

  • _formatDate(date: Date, fmt: string): string
  • 对Date的扩展,将 Date 转化为指定格式的String。

    月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)。

    【示例】: common.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss.S') ==> 2006-07-02 08:09:04.423 common.formatDate(new Date(), 'yyyy-M-d h:m:s.S') ==> 2006-7-2 8:9:4.18 common.formatDate(new Date(), 'hh:mm:ss.S') ==> 08:09:04.423

    Parameters

    • date: Date
    • fmt: string

    Returns string

arrayRemove

  • arrayRemove(val: any, arr: any[]): any[]
  • 删除数组中指定的元素

    Parameters

    • val: any
    • arr: any[]

    Returns any[]

calculateBestTextColor

  • calculateBestTextColor(hexColor: string): "#000000" | "#FFFFFF"
  • 根据与背景的对比确定最佳文本颜色(黑色或白色)

    Parameters

    • hexColor: string

      用户最后选择的颜色

    Returns "#000000" | "#FFFFFF"

darken

  • darken(color: string, amount: number): string
  • 根据百分比调暗十六进制颜色

    Parameters

    • color: string

      要处理的颜色

    • amount: number

      改变颜色的量

    Returns string

    结果颜色

dec2hex

  • dec2hex(dec: number, len: number): string
  • 10进制转16进制补0

    Parameters

    • dec: number

      10进制数

    • len: number

      返回的16进制个数 如:len=3 返回00A

    Returns string

delKey

  • delKey(obj: {}, ...args: any[]): {}
  • 同时删除对象的多个属性

    Parameters

    • obj: {}
      • [x: string]: any
    • Rest ...args: any[]

      a,b

    Returns {}

    • [x: string]: any

dupAvg

  • dupAvg(arry: any[], dupkey: string | number, avgkey: string | number, fixed: undefined | number): any
  • 计算数组里的对象的某个key相同,其余key的值求平均数

    Parameters

    • arry: any[]

      数组 [{x:'2021-10-21',y:100,},{x:'2021-10-22',y:20},{x:'2021-10-21',y:200,},{x:'2021-10-22',y:20}]

    • dupkey: string | number

      去重的属性 x

    • avgkey: string | number

      求值的属性 y

    • fixed: undefined | number

      求值的结果保留的小数位数

    Returns any

formatToDate

  • formatToDate(date?: undefined | Dayjs, format?: string): string
  • 日期时间格式转换

    Parameters

    • date: undefined | Dayjs = undefined

      时间

    • format: string = DATE_FORMAT

      格式'YYYY-MM-DD HH:mm:ss'

    Returns string

formatToDateTime

  • formatToDateTime(date?: undefined | Dayjs, format?: string): string
  • 日期格式转换

    Parameters

    • date: undefined | Dayjs = undefined

      时间

    • format: string = DATE_TIME_FORMAT

      格式'YYYY-MM-DD'

    Returns string

forwardRankingDate

  • forwardRankingDate(data: any[], p: string | number): any[]
  • 日期排序(正序)

    Parameters

    • data: any[]

      要排序的数组 [{"ExecutionTime": "2022-01-17 12:00:00","Content": "请按时吃药"},{ "ExecutionTime": "2022-01-23 14:00:00", "Content": "《科普文章》"}]

    • p: string | number

      排序字段

    Returns any[]

getAge

  • getAge(strBirthday: string): number
  • 根据生日计算年龄

    Parameters

    • strBirthday: string

      '1997-05-27'

    Returns number

getBirthSlot

  • getBirthSlot(date: string | number | Date): number
  • 计算生日距当前日期的天数

    Parameters

    • date: string | number | Date

    Returns number

getDay

  • getDay(day: number): string
  • 最近一周 getDay(-7) 返回的是距离当前日期的一周后的时间 一月 getDay(-30) 一年 getDay(-365)

    Parameters

    • day: number

    Returns string

getMaxValue

  • getMaxValue(obj: any[], key?: string | number): number
  • 返回对象中所有属性的最大值

    Parameters

    • obj: any[]

      对象

    • Optional key: string | number

    Returns number

getMaxValueItem

  • getMaxValueItem(arr: {}[], key: string | number): number
  • 返回对象数组中对象的某一项的最大值

    Parameters

    • arr: {}[]

      对象数组 [{a:10,b:2},{a:88,b:100},{a:879,b:888}]

    • key: string | number

      哪一项的key a

    Returns number

getTimeId

  • getTimeId(len: number, radix?: number): undefined | string
  • 生成唯一文件名 时间戳 + 随机数

    Parameters

    • len: number

      生成的文件名长度

    • Optional radix: number

      指定基数

    Returns undefined | string

getTimeStringAutoShort2

  • getTimeStringAutoShort2(timestamp: string, mustIncludeTime: any): string
  • 仿照微信中的消息时间显示逻辑,将时间戳(单位:毫秒)转换为友好的显示格式.

    1)7天之内的日期显示逻辑是:今天、昨天(-1d)、前天(-2d)、星期?(只显示总计7天之内的星期数,即<=-4d); 2)7天之外(即>7天)的逻辑:直接显示完整日期时间。

    since

    1.1

    Parameters

    • timestamp: string

      时间戳(单位:毫秒),形如:1550789954260

    • mustIncludeTime: any

      true表示输出的格式里一定会包含“时间:分钟” ,否则不包含(参考微信,不包含时分的情况,用于首页“消息”中显示时)

    Returns string

    输出格式形如:“刚刚”、“10:30”、“昨天 12:04”、“前天 20:51”、“星期二”、“2019/2/21 12:09”等形式

getuuid

  • getuuid(len: number, radix?: number): string
  • 生成唯一文件名

    Parameters

    • len: number

      生成的文件名长度

    • Optional radix: number

      指定基数

    Returns string

hexCharCodeToStr

  • hexCharCodeToStr(hexCharCodeStr: string): string
  • 16 进制转ascll码

    Parameters

    • hexCharCodeStr: string

      16进制字符

    Returns string

hexToRGB

  • hexToRGB(hex: string): string
  • 将十六进制颜色转换为RGB

    Parameters

    • hex: string

      要变换的颜色

    Returns string

    传递的颜色的RGB

isBase64

  • isBase64(str: string): boolean
  • 是否是base64数据

    Parameters

    • str: string

    Returns boolean

isHexColor

  • isHexColor(color: string): boolean
  • 判断是否 十六进制颜色值. 输入形式可为 #fff000 #f00

    Parameters

    • color: string

    Returns boolean

    Boolean

lighten

  • lighten(color: string, amount: number): string
  • 根据百分比,调亮十六进制颜色

    Parameters

    • color: string

      要改变的颜色

    • amount: number

      改变颜色的量

    Returns string

    结果颜色

numberToChinese

  • numberToChinese(num: number): string
  • Parameters

    • num: number

    Returns string

params

  • params(obj: {}, num: number): any
  • 获取对象的前几个数据

    Parameters

    • obj: {}
      • [x: string]: any
    • num: number

      前几个

    Returns any

reverseRankingDate

  • reverseRankingDate(data: any[], p: string | number): any[]
  • 日期排序(反序)

    Parameters

    • data: any[]
    • p: string | number

    Returns any[]

rgbToHex

  • rgbToHex(r: number, g: number, b: number): string
  • RGB 颜色值转换为 十六进制颜色值. r, g, 和 b 需要在 [0, 255] 范围内

    Parameters

    • r: number
    • g: number
    • b: number

    Returns string

    String 类似#ff00ff

str2ab

  • str2ab(hex: { match: any }): ArrayBufferLike
  • 16进制转ArrayBuffer

    Parameters

    • hex: { match: any }

      16进制字符

      • match:function
        • match(arg0: RegExp): any[]
        • Parameters

          • arg0: RegExp

          Returns any[]

    Returns ArrayBufferLike

strToHexCharCode

  • strToHexCharCode(str: string, zeroX?: boolean): string
  • 字符串转16进制

    Parameters

    • str: string

      要转的字符串

    • zeroX: boolean = true

      是否带上0x前缀

    Returns string