您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

JavaScript:个人常用工具类

文章目录

      • 时间格式化
      • 获取数据类型
      • 深拷贝

时间格式化

export const formatTime = ( time: number | string, formats = ''): string => {
    function zero(n: number):string {
        return n < 10 ? '0' + n : String(n)
    }

    if(!time){
        time = new Date().getTime()
    }
    // 10位数的时间戳
    if(Number(time) < 9999999999){
        time =  Number(time) * 1000
    }

    const date   = new Date(time)
    const year   = String(date.getFullYear())
    const month  = zero(date.getMonth() + 1)
    const day    = zero(date.getDate())
    const hour   = zero(date.getHours())
    const minute = zero(date.getMinutes())
    const second = zero(date.getSeconds())
    const dateMap:{[key:string]: string} = {
        Y: year,
        M: month,
        D: day,
        h: hour,
        m: minute,
        s: second
    }
    return formats.replace(/Y|m|d|H|i|s/ig, (matches:string | number | undefined) => {
        return dateMap[String(matches)]
    })
    
}

获取数据类型

export const getType = (obj:any):string => {
    let type = Object.prototype.toString.call(obj)
    let typeMap:{[key: string]: string} = {
        '[object Boolean]'  : 'boolean', 
        '[object Number]'   : 'number', 
        '[object String]'   : 'string', 
        '[object Function]' : 'function', 
        '[object Array]'    : 'array', 
        '[object Date]'     : 'date', 
        '[object RegExp]'   : 'regExp', 
        '[object Undefined]': 'undefined',
        '[object Null]'     : 'null', 
        '[object Object]'   : 'object'
    }
    return typeMap[type]
}

深拷贝

export function deepCopy<T>(list: T): T {
    let copyList
    switch (getType(list)){
        case "array":
            copyList = []
            break
        case "object":
            copyList = {}
            break
        default: 
            return list
    }

    for(let i in list){
        copyList = deepCopy(list[i])
    }
    return list
}

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进