美文网首页
常用JS方法封装总结,可直接调用

常用JS方法封装总结,可直接调用

作者: 前端开发_罗欢 | 来源:发表于2019-01-04 17:25 被阅读0次

    1、判断是否是一个数组

    /*
     用于:判断是否是一个数组
     参数:需要判断的对象arr
     返回:是数组返回true,不是数组返回false
     举例:isArray([1,2,3]) //true
     */ 
    function isArray(arr) {
        return Object.prototype.toString.call(arr) ==='[object Array]';
    }
    

    2、对对象数组按照指定字段排序

    /*
     用于:对对象数组按照指定字段排序
     参数:需要判断的字段prop,排序方式type:asc为升序、desc为降序
     返回:经过排序后的对象数组
     举例:[{name:'张三',age:23},{name:'李四',age:21},{name:'王二',age:22}].sort(compare("age","asc"))
     */ 
    function compare(prop,type) {
        return function (obj1, obj2) {
            var val1 = obj1[prop];
            var val2 = obj2[prop];
            if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
                val1 = Number(val1);
                val2 = Number(val2);
            }
            if (type == 'asc') {
              return val1 - val2;
            } else if (type == 'desc') {
              return val2 - val1;
            }       
        } 
    }
    

    3、将时间戳转换为时间格式

    /*
     用于:将时间戳转换为时间格式
     参数:需要转化的时间戳timestamp,type为时间戳类型毫米ms、秒s,默认为ms
     返回:经过转化后的时间
     举例:timestampToTime(1543398568000,'ms') //2018-11-28 17:49:28
     */ 
    function timestampToTime(timestamp,type) {
        var stamp = type == 's' ? timestamp*1000 : timestamp
        var date = new Date(stamp);
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
        var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
        var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
        var s = date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds();
        return Y+M+D+h+m+s;
    }
    

    4、将时间格式转换为时间戳

    /*
     用于:将时间格式转换为时间戳
     参数:需要转化的时间time
     返回:经过转化后的时间戳ms
     举例:timeToTimestamp('2018-11-28 17:49:28') //1543398568000
     */ 
    function timeToTimestamp(time) {
        var date = new Date(time);
        var timestamp = date.getTime();
        return timestamp;
    }
    

    5、为数字加上千分符

    /*
     用于:为数字加上千分符
     参数:需要转化的数字num
     返回:加上千分符后的数字
     举例:numToThousandmark(123456789) //1,234,567,890
     */ 
    function numToThousandmark(num) {
        return num.toString().replace(/(\d{1,3})(?=(\d{3})+$)/g,'$1,');
    }
    

    相关文章

      网友评论

          本文标题:常用JS方法封装总结,可直接调用

          本文链接:https://www.haomeiwen.com/subject/wuekrqtx.html