JS的一些坑(持续更新)

一. 数组排序函数 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=================================================

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,117评论 6 13
  • 决定每天写文字,是出自于一位恩师的一番话,我清楚的记得,自己是小学二年级开始热爱文字的,那时候的我,刚学会...
    s耳根软小姐阅读 456评论 0 3
  • 无论是手机还是单反摄影,照片拍的美不美不在于被拍物体的本身,最主要的原因在于构图。构图思路才是拍出好照片的源头,不...
    克果阅读 372评论 0 3
  • 周末到了,整个医生办公室只有一位值班医生在,护士休息不得,病人手中继续插着留置针,各种药水通过静脉缓缓进入病人体内...
    传说中的超超阅读 208评论 4 3