integer判断是否为null_面试常考题JavaScript用七种方式教你判断一个变量是否为数组类型...

fc49f486b8b1310a7d0c9be93ba495cc.png

JS判断数组类型

            我们如何判断一个变量是否为数组类型呢? 这是在前端面试中面试官经常会问到的问题,看似很简单,但想说出多种判断方式也是非常难的,今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧

5acdd9e5c23cafcb1996fe247d2a56dd.png

a0d0d6ad3b94a5bd2d31eadb1367fc92.png

方法一

使用 instanceof 运算符, 该运算符左边是我们想要判断的变量, 右边则是我们想要判断的对象的类, 例如:

let arr = [1, 2, 3]console.log(arr instanceof Array)//  true     返回true,说明变量arr是数组类型

5acdd9e5c23cafcb1996fe247d2a56dd.png

a0d0d6ad3b94a5bd2d31eadb1367fc92.png

方法二

利用构造函数来判断他的原型是否为Array, 用法: 变量.constructor === 变量类型

let arr = [1, 2, 3]console.log(arr.constructor === Array)//  true     返回true,说明变量arr是数组类型

5acdd9e5c23cafcb1996fe247d2a56dd.png

a0d0d6ad3b94a5bd2d31eadb1367fc92.png

方法三

第三种方法利用的一个专门的方法 isArray(), 用法:Array.isArray(变量),返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型

let arr = [1, 2, 3]console.log(Array.isArray(arr))//  true     返回true,说明变量arr是数组类型

78e4b9319eb0e6430fdaddefc3baa08c.png

方法四

第四种方法是调用 Object.prototype.toString.call(),返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型

let arr = [1, 2, 3]console.log(Object.prototype.toString.call(arr) === '[object Array]')//  true     返回true,说明变量arr是数组类型

78e4b9319eb0e6430fdaddefc3baa08c.png

方法五

第五种方式是通过对象的原型方式来判断,直接来看例子

let arr = [1, 2, 3]console.log(arr.__proto__ === Array.prototype)//  true     返回true,说明变量arr是数组类型

78e4b9319eb0e6430fdaddefc3baa08c.png

方法六

第六种方式是通过 Object.getPrototypeOf() 来判断是否为数组类型,例如

let arr = [1, 2, 3]console.log(Object.getPrototypeOf(arr) === Array.prototype)//  true     返回true,说明变量arr是数组类型

78e4b9319eb0e6430fdaddefc3baa08c.png

方法七

第七种方式是通过 isPrototypeOf() 方法来判断是否为数组类型,例如

let arr = [1, 2, 3]console.log(Array.prototype.isPrototypeOf(arr))//  true     返回true,说明变量arr是数组类型

结束语

当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧, 一定会让面试官大吃一斤的~

78e4b9319eb0e6430fdaddefc3baa08c.png

关注我,不迷路~

我是Lpyexplore,带你在python爬虫的过程中学习前端

9edb9088885ae7f69e0a6323d4744a7c.png

作者:Lpyexplore

公众号:Lpyexplore的编程小屋

  扫码关注公众号获取更多资料  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值