1.排序算法
sort()方法,用于对数组排序
注意:该排序方法,是根据数组中,每一个元素首字符的unicode编码进行排序的
let arr1=[1,5,9,36,88,11]
console.log(arr1);
1.冒泡排序算法
//冒泡排序
let array=[1,8,96,55,88,11,22]
for (let i = 0; i < array.length-1; i++) { //第一次把数组中的数全部循环一次
for (let j = 0; j < array.length-1-i; j++) {
if(array[j]>array[j+1]){//如果当前数大于当前数+1
let temp = array[j] //temp存入当前数
array[j]=array[j+1] //当前数+1位置变成当前数的位置
array[j+1]=temp //当前数+1的位置被当前数取代
}
}
}
2.选择排序算法
let array=[1,8,96,55,88,11,22]
for (let i = 0; i < array.length-1; i++) {
for (let j = i+1; j < array.length; j++) {
if(array[i]>array[j]){
let temp =array[i]
array[i]=array[j]
array[j]=temp
}
}
}
2.Math对象
Math对象 里面提供的方法,可以帮助我们解决算术问题
// Math.random() 返回一个0到1之间的随机数
// 返回1-100的数 如果不包含100 Math.random()*(100-1)+1
// 返回1-100的数 如果包含100 Math.random()*(100+1-1)+1
let num = Math.random()
console.log(num);
// abs() 返回一个数的绝对值
let num1 = Math.abs(-1)
console.log(num1);
// ceil() 向上取整
let num2=Math.ceil(98.5)
console.log(num2); //99 整数+1
// floor() 向下取整
let num3 = Math.floor(99.5)
console.log(num3); //99 抹小数点
// max() 返回最大值 Math.max(value1, value2, value3, ...);
let array = [1,3,5,6,4,0]
let num4 = Math.max(...array) //6 ... es6拓展运算符
console.log(num4);
// min() 返回最小值
let num5 = Math.min(...array)
console.log(num5);//0
//pow() 返回指定数的次幂
let num6 =Math.pow(2,2) //第一个值传入需要次幂的数 第二个值传入次数
console.log(num6); //4
//round() 四舍五入
let num7 = Math.round(99.1)
console.log(num7); //99
//PI属性,返回圆周率
let num8 = Math.PI/5
console.log(num8); //0.6283185307179586
3.Date对象
// 创建并返回系统当前日期
let date=new Date()
console.log(date);
// 在创建日期对象时,可以传递一个时间戳参数
// 时间戳:是从1970-1-1开始的毫秒数
let date2= new Date(123456789)
console.log(date2);
// 也可以根据一个指定的时间,返回一个日期对象
let date3 = new Date('2011-1-1 12:12:12')
console.log(date3);
// getFullYear() 返回年份 2021
let year = date.getFullYear()
console.log(year);
//getMonth() 返回月份 返回的值是0-11(0表示1月份,11表示12月份) 11
let month = date.getMonth()+1
console.log(month);
// getDate() 返回月份的日期 17
let dates = date.getDate()
console.log(dates);
//getDay() 返回星期几 返回的值是0-6,(0表示星期天) 3
let day = date.getDay()
console.log(day);
// getHours() 返回小时 返回的值是0-23(0表示凌晨12点) 21
let hours = date.getHours()
console.log(hours);
// getMinutes() 返回分钟 57
let minutes = date.getMinutes()
console.log(minutes);
//getSeconds() 返回秒 51
let seconds = date.getSeconds()
console.log(seconds);
// getMilliseconds() 返回毫秒 559
let millise = date.getMilliseconds()
console.log(millise);
// getTime() 返回时间戳 1637157471559
let time = date.getTime()
console.log(time);
// getXXX方法用于获取时间对象中指定的部分
// setXXX方法用于设置时间对象中指定的部分
练习题:计算两个日期相差多少天,注意:两日期对象相减,返回的是两个日期时间戳相减后的值
// 计算两个日期相差多少天,注意:两日期对象相减,返回的是两个日期时间戳相减后的值
let now=new Date() //现在时间
let past = new Date('2002-11-4')
let time = now-past //返回的是两个日期的毫秒数 600819254014
console.log(Math.floor(time/1000)); //600819262 秒
console.log(Math.floor(time/1000/60)); //10013656分钟
console.log(Math.floor(time/1000/60/60)); //166894小时
console.log(Math.floor(time/1000/60/60/24));//6953 天数