这些函数都是粘在编辑器上可以直接用的。
1.秒杀倒计时
function countDown(time) {
var nowTime = +new Date(); //返回的是当前时间总的毫秒数
var inputTime = +new Date(time); //返回的是用户输入的总的毫秒数
var times = (inputTime - nowTime) / 1000; //times剩余时间总的毫秒数 1秒=1000毫秒
var d = parseInt(times / 60 / 60 / 24); //计算天数
d = d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24); //计算小时
h = h < 10 ? '0' + h : h;
var m = parseInt(times / 60 % 60); //计算分数
m = m < 10 ? '0' + m : m;
var s = parseInt(times % 60);
s = s < 10 ? '0' + s : s;
return d + '天' + h + '时' + m + '分' + s + '秒';
}
console.log(countDown('2020-12-28 18:00:00'));
2.翻转数组
function reverse(arr) {
if (Array.isArray(arr)) {
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
return newArr;
} else {
return 'error 您输入的不是数组格式[1,2,3]'
}
}
console.log(reverse([1, 2, 3]));
console.log(reverse(1, 2, 3));
或者直接使用方法
var arr = [1, 2, 3, 4, 'pink老师'];
arr.reverse();
console.log(arr);
3.检测是否为数组的两种方法
(1) instanceof 运算符 它可以用来检测是否为数组
var arr = [];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);
(2) Array.isArray(参数) H5新增的方法 ie9以上版本支持
var arr = [];
var obj = {};
console.log(Array.isArray(arr));
console.log(Array.isArray(obj));
4.冒泡排序
// 冒泡排序
var arr = [5, 4, 3, 2, 1];
for (var i = 0; i < arr.length - 1; i++) { //外层循环管趟数
for (var j = 0; i < arr.length - i - 1; j++) { //内层循环管次数
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
或者直接使用方法(注意:有固定的写法)
var arr = [86,4,66,1,32,9];
arr.sort(function(a,b){
return a - b; //升序
return b - a; //降序
});
console.log(arr);
5.数组去重(通过索引号)
// 数组去重原理:将旧数组的元素追加到新数组,如果新数组里有元素则不追加
// 封装一个去重的函数 unique 独一无二的
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var demo = unique(['a', 'd', 'd', 'g', 'j', 'k']);
console.log(demo);