[JS]常用函数

2018-06-27  本文已影响15人  泉落云生
  1. 字符串是否是包含26个英文字母的短句
function isPangram(string){
  string = string.toLowerCase();
  return "abcdefghijklmnopqrstuvwxyz".split("").every(x => string.indexOf(x) !== -1);
}
  1. 英文首字母大写
String.prototype.camelCase = function () {
  return this.trim().replace(/(?:^|\s+)(\w)/g, (_, c) => _.toUpperCase())
}
// 'my favorite animation!is jojo.'.camelCase()
// My Favorite Animation!Is Jojo.
  1. sleep 睡眠函数
export function sleep(delay: number) {
    return new Promise(reslove => {
        setTimeout(reslove, delay)
    })
}
  1. dereplication 数组去重
export function unique(arg: any[]){
    return [...new Set(arg)]
}
  1. 数字格式化 3000 -> 3,000
function formatNumber(str: string | number) {
     return (''+str).replace(/\B(?=(\d{3})+(?!\d))/g, ',')
     // number [number].toLocaleString('en-US')
}
  1. 非大数取整~~[number]

  2. 数组求和arr.reduce((a, b) => a + b)或者eval(arr.join("+"))

  3. 数字串转数组[...arguments]

  4. 值对换[a,b]或者a^=b b^=a a^=b

  5. 数组乱序arr.sort(()=>Math.random()-.5)

// 信息脱敏
export function handle(param:string,left:number=0,right:number=0):string{
  const len:number = param.length
  const r = new RegExp("^(.{"+left+"})(?:\\d+)(.{"+right+"})$","gim");
  let c:string = "";
  for(let i=0;i<len-left-right;i++){
    c+="*"
  }
  return param.replace(r, "$1"+c+"$2");
}
上一篇下一篇

猜你喜欢

热点阅读