js 常用方法集合(持续更新)

1.价格格式化
    
    export function moneyFilter(val){
      if(!val||val==0){
        return "0.00"
      }
      val = Math.floor(Number(val)*100+0.500001) 
      let decimalStr = val%100
      if(decimalStr<10){
        decimalStr = "0"+decimalStr
      }
      let integerStr =String(Math.floor(val/100)) 
      let len = integerStr.length
      let newStr = ""
      for(var i = 0; i < Math.ceil(len/3); i++) {
        newStr=integerStr.substring(len-(3*i),len-(3*(i+1)))+(i>0?","+newStr:newStr)
      }
      return newStr+"."+decimalStr
    }
 
2.字符串转数字
    
    export function toNumber(str){
        var str = str.split("")
        str = str.map(item=>+item)
        var num = str.reduce((x,y)=>{
          return x*10+y
        })
        return num
    }
 
3.利用reduce()求积:
    
    export function quadrature(arr){
        pow(x,y){
            return arr.reduce((x,y)=>x*y);
        }
    }
 
4.首字母大写其他小写
    
    export function normalize(arr) {
        return arr.map(item=>{
            return item.split("")[0].toUpperCase()+item.split("").slice(1).reduce((x,y)=>{ 
                return x.toLowerCase() + y.toLowerCase()
            })
        } )
    }
 
5.数组去重
    
    1)方法一:
    export function duplicateRemovalArr(arr){
        return arr.filter((element,index,arr)=>{
            return self.indexOf(element) === index
        })
    }
    2)方法二:
    var arr = [1,2,1,1,2,3,4,5,5]
    arr = [...new Set(arr)]
    3)方法三:
    export function duplicateRemovalArr(arr){
        arr = new Set(arr)
        return Array.from(arr)
    }
 
6.字符串去重
    function duplicateRemovalString(str){
        return [...new Set(str)].join("")
    }
 
7.时间戳转日期时间格式
    
    function add0(m){return m<10?"0"+m:m }
    export function format(shijianchuo,type){
      //shijianchuo是整数,否则要parseInt转换
      let T = parseInt(shijianchuo)
      var time = new Date(T);
      var y = time.getFullYear();
      var m = time.getMonth()+1;
      var d = time.getDate();
      var h = time.getHours();
      var mm = time.getMinutes();
      var s = time.getSeconds();
      //年月日
      if(type=='Year'){
        return y+"-"+add0(m)+"-"+add0(d)
      }else if(type=='Hours'){
        //时分秒
        return add0(h)+":"+add0(mm)+":"+add0(s);
      }
      return y+"-"+add0(m)+"-"+add0(d)+" "+add0(h)+":"+add0(mm)+":"+add0(s);
    }
 
8.创建指定时间后 resolve 的 Promise
    
    export function delay(timespan = 0) {
      return new Promise(resolve => setTimeout(resolve, timespan));
    }
 
9.生成随机数
function randombetween(min, max){
    return min + (Math.random() * (max-min +1));
}

个人集成方法集合~   后续持续更新

posted @ 2020-01-10 17:07  小白来袭  阅读(325)  评论(0编辑  收藏  举报