JavaScript 用七种方式教你判断一个变量是否为数组类型
【摘要】
JavaScript 如何判断一个变量是否为数组类型
引言正文方法一方法二方法三方法四方法五方法六方法七
结束语
引言
我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧
正文
首先先告诉你们, typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:
let arr = [1...
引言
我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧
正文
首先先告诉你们, typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:
let arr = [1, 2, 3]
console.log(typeof arr)
// object 最后输出的是object对象
- 1
- 2
- 3
- 4
方法一
使用 instanceof 运算符, 该运算符左边是我们想要判断的变量, 右边则是我们想要判断的对象的类, 例如:
let arr = [1, 2, 3]
console.log(arr instanceof Array)
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法二
利用构造函数来判断他的原型是否为Array, 用法: 变量.constructor === 变量类型
let arr = [1, 2, 3]
console.log(arr.constructor === Array)
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法三
第三种方法利用的一个专门的方法 isArray(), 用法:Array.isArray(变量)
,返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]
console.log(Array.isArray(arr))
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法四
第四种方法是调用Object.prototype.toString.call()
,返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]
console.log(Object.prototype.toString.call(arr) === '[object Array]')
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法五
第五种方式是通过对象的原型方式来判断,直接来看例子
let arr = [1, 2, 3]
console.log(arr.__proto__ === Array.prototype)
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法六
第六种方式是通过 Object.getPrototypeOf()
来判断是否为数组类型,例如
let arr = [1, 2, 3]
console.log(Object.getPrototypeOf(arr) === Array.prototype)
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
方法七
第七种方式是通过 isPrototypeOf()
方法来判断是否为数组类型,例如
let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))
// true 返回true,说明变量arr是数组类型
- 1
- 2
- 3
- 4
结束语
当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧, 一定会让面试官大吃一斤的~
文章来源: lpyexplore.blog.csdn.net,作者:「零一」,版权归原作者所有,如需转载,请联系作者。
原文链接:lpyexplore.blog.csdn.net/article/details/106341193
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)