判断数组的6种方法

说明一下:数组是属于object类型的,也就是引用类型,所以不能使用 typeof 来判断其具体类型。下面这些方法是判断数组的几种方法

1.instanceof 运算符

let arr = [1,2,3];
console.log(arr instanceof Array); //true

 2.constructor 构造函数

let arr = [1,2,3];
console.log(arr.constructor == Array); //true

3.isArray (ES5新增数组方法,判断数组是不是数组)

let arr = [1,2,3];
console.log(Array.isArray(arr));  //true

4.Object.prototype.toString.call()  (把对象转化成字符串和一个已知的对象进行对比)

let arr = [1,2,3];
console.log(Object.prototype.toString.call(arr) == '[object Array]'); //true

5.Array原型链上的isPrototypeOf  (Array.prototype表示Array的构造函数的原型;isPrototypeOf()方法可以判断当前对象是否是另一个对象的原型,或者说一个对象是否被包含在另一个对象的原型链中)

let arr = [1,2,3];
console.log(Array.prototype.isPrototypeOf(arr)); //true

6.Object.getPrototypeOf()  (Object.getPrototypeOf()方法返回指定对象(arr)的原型,然后和Array的原型对比)

let arr = [1,2,3];
console.log(Object.getPrototypeOf(arr) == Array.prototype); //true

 

posted @ 2022-11-16 10:45  srqsl  阅读(845)  评论(0编辑  收藏  举报