判断数组的方法


判断数组在工作中十分常见,一般掌握前三种写法足以。

1. Array.prototype.isArray

使用原型方法

const arr = [1, 2, 3, 4];
console.log(Array.isArray(arr));

2. Object.prototype.toString.call

使用对象原型toString方法,这个方法可以检验所有的类型

console.log(Object.prototype.toString.call(arr) === '[object Array]');

console.log(Object.prototype.toString.call(arr).indexOf('Array') > -1);//同理

3. instanceof

instanceof 运算符用于检测某个 实例对象 的原型链上是否出现 某个构造函数prototype原型属性,以此来判断实例。

console.log(arr instanceof Array);

4. isPrototypeOf

理解为 instanceof 的繁琐版

console.log(Array.prototype.isPrototypeOf(arr));//检测Array.prototype是否出现在arr的原型链上

5. constructor

通过原型链调用构造函数并转为字符串判断是否是数组对象

console.log(arr.constructor.toString().indexOf('Array') > -1);

文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录