JS判断变量是不是数组?方法大全!

JS判断变量是不是数组,这往往是一道经典面试题。给大家分享我在工作中用到的五种方法: 

1.方式一:采用Array构造对象的isArray方法
var arr = [1,2,3];
console.log( Array.isArray( arr ) ); 
返回true/false

2.方式二:采用instanceof数据类型检测

var arr = [1,2,3];
console.log( arr instanceof Array ); 
返回true/false

3.方式三:是否在Object大对象的原型链上出现并含有‘Array’标识

var arr = [1,2,3];
console.log( Object.prototype.toString.call(arr).indexOf('Array') > -1 );
返回true/false

4.方式四:Array原型的isPrototypeOf()方法

var arr = [1,2,3];
console.log(  Array.prototype.isPrototypeOf(arr) ) 
返回true/false

5.方式五:是否出现在这个变量自身的constructor属性中

var arr = [1,2,3];
console.log(  arr.constructor.toString().indexOf('Array') > -1 )
返回true/false

以上方法各有利弊,小伙伴们是否有其他更好的方法呢,欢迎留言探讨~

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值