1.排序算法
sort()方法,用于对数组排序
注意:该排序方法,是根据数组中,每一个元素首字符的unicode编码进行排序的
let arr = [1,33,44,3,4,6,7]返回:(7) [1, 3, 33, 4, 44, 6, 7]
手写排序算法:
1.冒泡排序算法
// 外层for循环,表示比较的轮廓(数组长度为5,比较4伦)
for(i=0;i<arr1.length-1;i++){
// 内层for循环,表示每轮比较的次数(第一轮比较4次,第四轮比较1次)
for (j=0;j<arr1.length-1-i;j++) {
// 如果数组中,前面的数大于后面的数据
// 两数换位
if (arr1[j]>arr1[j+1]) {
let temp = arr1[j];
arr1[j]=arr1[j+1];
arr1[j+1]=temp;
}
}
}
console.log(arr1);
2.选择排序算法
for(i=0;i<arr1.length-1;i++){
// 内层for循环,表示参与比较的数组元素
for(j=i+1;j<arr1.length;j++){
// 参与比较的数,挨个跟选择的那个数比较
if (arr1[i]>arr1[j]) {
let temp = arr1[i];
arr1[i] = arr1[j];
arr1[j] = temp;
}
}
}
console.log(arr1);
2.Math对象
Math对象 里面提供的方法,可以帮助我们解决算术问题
提供的方法:
1.Math.random() 返回一个0到1之间的随机数
console.log((Math.random());
返回:0.2772122055858455
2.abs() 返回一个数的绝对值
console.log(Math.abs(-1234));
返回:1234
3.ceil() 向上取整
console.log(Math.ceil(55.66)); console.log(Math.ceil(55.11));
返回:56,56
不管是55.66还是55.11只要大于55.0都要向上取整
4.floor() 向下取整
console.log(Math.floor(34.99)); console.log(Math.floor(34.10));
返回:34,34
不管是34.99还是34.10只要大于34.00都要向下取整
5.max() 返回最大值
console.log(Math.max(11,22,33,90));
返回:90
找出最大值并返回
6.min() 返回最小值
console.log(Math.min(11,22,33,90));
返回:11
找出最小值并返回
7.pow() 返回指定数的次幂
console.log(Math.pow(5,5));
返回:3125
8.round() 四舍五入
console.log(Math.round(24.5));
返回:25
console.log(Math.round(-24.5));
返回:-24
console.log(Math.round(24.2));
返回:24
console.log(Math.round(-24.6));
返回:-25
9.PI属性,返回圆周率
console.log(Math.PI);
返回:3.141592653589793
10. sqrt()开平方根
console.log(Math.sqrt(9));
返回:3
3.Date对象
1.getFullYear() 返回年份
例如:let date1 = new Date()
console.log(date1);
//返回的是当前的日期:Wed Nov 24 2021
再使用getFullYear()
console.log('年份:'+date1.getFullYear());
返回:年份2021
2.getMonth() 返回月份 返回的值是0-11(0表示1月份,11表示12月份)
console.log('月份:'+date1.getMonth()+1);
返回:11
// 注意:返回结果是0-11,0表示一月份,11表示12月份
3.getDate() 返回月份的日期
console.log('日期:'+date1.getDate());
返回:24
4.getDay() 返回星期几 返回的值是0-6,(0表示星期天)
console.log('周:'+date1.getDay());
返回:周三
5.getHours() 返回小时 返回的值是0-23(0表示凌晨12点)
console.log('小时:'+date1.getHours());
返回:9
6.getMinutes() 返回分钟
console.log('分钟:'+date1.getMinutes());
返回:9
7.getSeconds() 返回秒
console.log('秒数:'+date1.getSeconds());
返回:10
8.getMilliseconds() 返回毫秒
console.log('毫秒:'+date1.getMilliseconds());
返回:382
9.getTime() 返回时间戳
//时间戳:是从1970-1-1开始的毫秒数
let date3 = new Date(2415454325632490)
console.log(date3);
返回:Tue Sep 13 78512 14:53:52
// 两个时间对象可以加减运算,返回的是两个日期对象时间戳加减后的结果
let d1=new Date('2001-12-07')
let d2=new Date()
let time=d2-d1
console.log(time); //返回毫秒
console.log(Math.floor(time/1000));//返回秒
console.log(Math.floor(time/1000/60));//返回分钟
console.log(Math.floor(time/1000/60/60));//返回小时
console.log(Math.floor(time/1000/60/60/24));//返回天
最终返回:
630033088357
630033088
10500551
175009
7292
getXXX方法用于获取时间对象中指定的部分
setXXX方法用于设置时间对象中指定的部分
date1.setMonth(1)
date1.setUTCFullYear(1000)
console.log(date1);
返回:Mon Feb 24 1000 09:11:28