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,');
}
网友评论