javascript之判断数组的几种方法

  • A+
所属分类:Web前端
摘要

今天和小伙伴一起出去吃饭,有个小伙伴突然问我,你是前端是吧,问一下现在前端判断数组都有哪些方法,哈哈不知道是不是考我,当时没有说全,吃过饭后看了下自己以前的小笔记这里总结一下目前知道的所有对于数组的判断方法,如果你有其他的方法或者有对我的纠正,欢迎留言,感谢.

今天和小伙伴一起出去吃饭,有个小伙伴突然问我,你是前端是吧,问一下现在前端判断数组都有哪些方法,哈哈不知道是不是考我,当时没有说全,吃过饭后看了下自己以前的小笔记这里总结一下目前知道的所有对于数组的判断方法,如果你有其他的方法或者有对我的纠正,欢迎留言,感谢.

 

var a = [1,2,3];

1. Array.isArray(a);

  es5的新方法,会返回布尔值 在低版本的浏览器 如IE8下不支持 可以使用方法3进行兼容性处理,通过typeof Array.isArray === "function" 进行判断浏览器是否支持

2. a.constructor.name => "Array"

  获取当前对象的构造函数的名称

3. Object.prototype.toString.call(a)==="[object Array]"  

  对于所有的基本数据类型都能进行判断包括null undefined也可以

4. a instanceof Array;

  判断是否是属于数组的一个实例

5. a.constructor===Array; 

  判断a的构造函数是不是Array

6. a.__proto__===Array.prototype; 

  判断a的原型对象是不是Array的原型对象

7. Array.prototype.isPrototypeOf(a);    => true

  isPrototypeOf() 方法允许你检查一个对象是否存在于另一个对象的原型链上