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

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方法封装总结,可直接调用)