如何通过JS判断一个数组
前言
如何通过 js 判断一个数组,在面试中我们常常会遇到这个问题,本章主要基于几种判断方式及原理带大家了解如何通过 js 判断一个数组。
1. instanceof
    instanceof      用于检测构造函数的 prototype 属性是否在实例对象的原型链上。如果存在就返回 true;否则返回 false。 
 
 HTML代码
var arr = [];arr instanceof Array; // true
2. constructor
 大家都知道,实例的构造函数属性 constructor 指向构造函数,那么通过 constructor 属性也可以判断是否为一个数组。 
 
 HTML代码
var arr = [];arr.constructor == Array; //true
3. Array.isArray()
   Array.isArray()      用于确定传递的值是否是一个数组,返回一个布尔值。如果 是数组返回 true;否则返回    false  。   
 
 HTML代码
var a = new Array(123);var b = new Date();console.log(Array.isArray(a)); //trueconsole.log(Array.isArray(b)); //false
4. object.prototype.tostring.call()
 通过 tostring 判断,每个对象都可以通过 object.prototype.tostring.call() 来检测。 
HTML代码
let a = [1,2,3]Object.prototype.toString.call(a) === '[object Array]';//true
 object.prototype.tostring.call()     强大的地方在于它不仅仅可以检验是否为数组,还可以检测是否为函数,是否是数字等等。 
 //检验是否是函数let a = function () {};Object.prototype.toString.call(a) === '[object Function]';//true//检验是否是数字let b = 1;Object.prototype.toString.call(b) === '[object Number]';//true
 以上就是今天的全部内容啦,我们下期再见!
评论
