前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 用七种方式教你判断一个变量是否为数组类型

JavaScript 用七种方式教你判断一个变量是否为数组类型

作者头像
@零一
发布2021-01-29 16:05:41
7880
发布2021-01-29 16:05:41
举报
文章被收录于专栏:前端印象

JavaScript 如何判断一个变量是否为数组类型

引言

我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧

正文

首先先告诉你们, typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(typeof arr)

//  object     最后输出的是object对象

方法一

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(arr instanceof Array)

//  true     返回true,说明变量arr是数组类型

方法二

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(arr.constructor === Array)

//  true     返回true,说明变量arr是数组类型

方法三

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(Array.isArray(arr))

//  true     返回true,说明变量arr是数组类型

方法四

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(Object.prototype.toString.call(arr) === '[object Array]')

//  true     返回true,说明变量arr是数组类型

方法五

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(arr.__proto__ === Array.prototype)

//  true     返回true,说明变量arr是数组类型

方法六

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(Object.getPrototypeOf(arr) === Array.prototype)

//  true     返回true,说明变量arr是数组类型

方法七

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

代码语言:javascript
复制
let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))

//  true     返回true,说明变量arr是数组类型

结束语

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript 如何判断一个变量是否为数组类型
  • 引言
  • 正文
    • 方法一
      • 方法二
        • 方法三
          • 方法四
            • 方法五
              • 方法六
                • 方法七
                • 结束语
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档