常用的js方法总结
js中常用的方法总结
1.时间格式化
function DateFormat(newDate, format) {
var date = {
'M+': newDate.getMonth() + 1,
'd+': newDate.getDate(),
'h+': newDate.getHours(),
'm+': newDate.getMinutes(),
's+': newDate.getSeconds(),
'q+': Math.floor((newDate.getMonth() + 3) / 3),
'S+': newDate.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (newDate.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? date[k] : ('00' + date[k]).substr(('' + date[k]).length));
}
}
return format;
}
// 这样写的好处是:可以灵活的输出日期的格式:如 YYYY/mm/dd 或 YYYY-mm-dd
2.数组扁平化的方法
将形如 [1, [2,3,[4,5],6,[7],8],9]数组转化成以为数组, [1,2,3,4,5,6,7,8,9]
var list = [1,[2,3], [4, [1,2],5,[6,7],8],9]
var arr = []
function getArray(list) {
list.forEach(function(v,i) {
if(v instanceof Array) { // 判断一个变量是否是数组
getArray(v) // 递归
} else {
arr.push(v)
}
})
}
console.log(getArray(list))
3.判断变量是否符合规则
var a = '9'
var b = '9a'
var Reg = /^\d$/
var Reg1 = /\d/
console.log(Reg.test(a), 1) // true
console.log(Reg1.test(a), 2) // true
console.log(Reg.test(b), 3) // false
console.log(Reg1.test(b), 4) // true
// Reg1 表示需要匹配的变量中有0-9
// Reg2 表示需要匹配的标量中只有一个 0-9 之间的数
4.对象数组的过滤
形如: var arr = [{id:1, age:'11'},{id:2, age:'131'},{id:1, age:'121'},{id:2, age:'1122'},{id:3, age:'11'}]
将这个对象以id为过滤条件, 过滤掉重复的
var arr = [{id:1, age:'11'},{id:2, age:'131'},{id:1, age:'121'},{id:2, age:'1122'}, {id:3, age:'11'}]
var air = []
var tem = []
arr.forEach(function(item) {
tem = tem.map(function(temItem) {
return temItem.id
})
if(tem.indexOf(item.id) == -1) {
temArr.push(item)
}
})
console.log(air)
5.js中克隆数组
var arr = [1,2,3,4,5]
var brr = arr.slice(0)
6.数组中合并
var a = [1,2,3]
var b = ['a', 'b']
Array.prototype.push.apply(a,b)
console.log(a) // a => [1,2,3,'a', 'b']
7.获取数组中的最大值和最小值
var arr = [1,2,5,4,3,7,4,88,544,243,4]
var max = Math.max.apply(Math, arr) // max = >544
var min = Math.min.apply(Math, arr) // min => 1
8.短路运算
var a = 1
if(a == 1) {
hello()
}
等同于
a == 1 && hello()
if(a != 1) {
hello()
}
等同于
a == 1 || hello()

浙公网安备 33010602011771号