判断是否是数组的方法收集

js

1、通过instanceof判断
instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值。

//instanceof运算符检测Array.prototype属性是否存在于变量a的原型链上,显然a是一个数组
//拥有Array.prototype属性,所以为true。
  let a = [];
  console.log(a instanceof Array); //true
  let b = {};
  console.log(b instanceof Array); //false

2、通过constructor判断
实例的构造函数属性constructor指向构造函数,那么通过constructor属性也可以判断是否为一个数组。

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

3、通过Object.prototype.toString.call()判断
Object.prototype.toString().call()可以获取到对象的不同类型。

  let a2 = [1, 2, 3]
  console.log(Object.prototype.toString.call(a2) === '[object Array]');//true
  
  // 不仅仅可以检验是否为数组,比如是否是一个函数,是否是数字等等
  let a3 = function () {};
  console.log(Object.prototype.toString.call(a3) === '[object Function]');//true
  // 检验是否是数字
  let b1 = 1;
  console.log(Object.prototype.toString.call(b1) === '[object Number]');//true

4、通过Array.isArray()判断
Array.isArray() 用于确定传递的值是否是一个数组,返回一个布尔值。

  // 简单好用,而且对于多全局环境,Array.isArray() 同样能准确判断,但有个问题,Array.isArray() 是在ES5中提出,也就是说在ES5之前可能会存在不支持此方法的情况。
  let a4 = [1, 2, 3]
  console.log(Array.isArray(a4));//true
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值