一. 数组排序函数 sort()
JS使用alphanumeric排序,这种排序规则是看首字符的,
1.排字母字符
var b1 = ['aa', 'as', 'ffer', 'bds', 'hjh'];
var b2 = b1.sort();
console.log(b2) //["aa", "as", "bds", "ffer", "hjh"]
排字母字符是没毛病的,会按照字母表顺序去排;但是排数字的时候就会有坑了
2.排数字
var a1 =[1, 22, 5, 12, 4, 67, 15];
var a2 =a1.sort();
console.log(a2) //[1, 12, 15, 22, 4, 5, 67]
可以看出,是按照最大位数字逐位下降进行排序的,所以我们要正确地从小到大进行排序,要这样写
var a1 =[1, 22, 5, 12, 4, 67, 15];
var a2 =a1.sort((a, b) => a - b);
console.log(a2) //[1, 4, 5, 12, 15, 22, 67]
倒序
var a1 =[1, 22, 5, 12, 4, 67, 15];
var a2 =a1.sort((a, b) => b - a);
console.log(a2) //[67, 22, 15, 12, 5, 4, 1]
说起倒序,就想起了另一个倒序的函数,reverse(),这个用于排字母就好了,数字的还是用sort()
二.日期函数 Date()
1.Date() 和 new Date(),都可以输出当前日期
var a1 = Date(); //加不加参数都一样
var a2 = new Date(); //不加参数
console.log(a1); //Fri Sep 08 2017 15:59:44 GMT+0800
console.log(a2); //Fri Sep 08 2017 15:59:44 GMT+0800
2.new Date() 接受一个参数(数字X),返回1970年1月1日 + X毫秒的值
var a1 = new Date(3000);
console.log(a1); //Thu Jan 01 1970 08:00:03 GMT+0800
3.加3个数字参数new Date(年,月,日),返回1900年加上相应年月日的值(经测试要满足小于2000年)
var a1 = new Date(3,13,14);
console.log(a1); //Sun Feb 14 1904 00:00:00 GMT+0800
超出2000年的,会直接按实际输入的参数显示年月日,如
var a1 = new Date(100,1,1);
console.log(a1); Mon Feb 01 100 00:00:00 GMT+0800
输入年参数不足100,而月日参数换算后可以满足年100的,也会按计算输出日期,所以关键是年参数不能是100.。
var a1 = new Date(99,15,1);
console.log(a1); //Sat Apr 01 2000 00:00:00 GMT+0800
也许你会问,那么公元0~99年的时间怎么输出?嘛,我也不知道。。手打行不行?
三.判断是否数组类型
数组不是基础类型,所以判断的时候。。。看下面!
var a1 = [1,2,3,4,4];
console.log(typeof(a1)); //输出 object,没错,输出类型为对象了0.0
真要判断一个变量是不是数组,要用Array.isArray(变量)
var a1 = [1,2,3,4,4];
console.log(Array.isArray(a1)); //true
===17.09.08=================================================