JavaScript 用七种方式教你判断一个变量是否为数组类型
发布日期:2021-06-30 22:42:35
浏览次数:3
分类:技术文章
本文共 1356 字,大约阅读时间需要 4 分钟。
JavaScript 如何判断一个变量是否为数组类型
引言
我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧
正文
首先先告诉你们, typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:
let arr = [1, 2, 3]console.log(typeof arr)// object 最后输出的是object对象
方法一
使用 instanceof 运算符, 该运算符左边是我们想要判断的变量, 右边则是我们想要判断的对象的类, 例如:
let arr = [1, 2, 3]console.log(arr instanceof Array)// true 返回true,说明变量arr是数组类型
方法二
利用构造函数来判断他的原型是否为Array, 用法: 变量.constructor === 变量类型
let arr = [1, 2, 3]console.log(arr.constructor === Array)// true 返回true,说明变量arr是数组类型
方法三
第三种方法利用的一个专门的方法 isArray(), 用法:Array.isArray(变量)
,返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]console.log(Array.isArray(arr))// true 返回true,说明变量arr是数组类型
方法四
第四种方法是调用Object.prototype.toString.call()
,返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]console.log(Object.prototype.toString.call(arr) === '[object Array]')// true 返回true,说明变量arr是数组类型
方法五
第五种方式是通过对象的原型方式来判断,直接来看例子
let arr = [1, 2, 3]console.log(arr.__proto__ === Array.prototype)// true 返回true,说明变量arr是数组类型
方法六
第六种方式是通过 Object.getPrototypeOf()
来判断是否为数组类型,例如
let arr = [1, 2, 3]console.log(Object.getPrototypeOf(arr) === Array.prototype)// true 返回true,说明变量arr是数组类型
方法七
第七种方式是通过 isPrototypeOf()
方法来判断是否为数组类型,例如
let arr = [1, 2, 3]console.log(Array.prototype.isPrototypeOf(arr))// true 返回true,说明变量arr是数组类型
结束语
当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧, 一定会让面试官大吃一斤的~
转载地址:https://lpyexplore.blog.csdn.net/article/details/106341193 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月23日 01时28分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于U-boot上TFTP服务器更新系统
2021-07-03
P3811 【模板】乘法逆元
2021-07-03
P5431 【模板】乘法逆元2
2021-07-03
P1495 【模板】中国剩余定理(CRT)/曹冲养猪
2019-04-30
P3868 [TJOI2009]猜数字
2019-04-30
YbtOJ——贪心算法【例题3】畜栏预定
2019-04-30
YbtOJ——贪心算法【例题2】雷达装置
2019-04-30
YbtOJ——递推算法【例题4】传球游戏
2019-04-30
YbtOJ——深度搜索【例题1】拔河比赛
2019-04-30
YbtOJ——深度搜索【例题2】数独游戏
2019-04-30
YbtOJ——字符串处理【例题1】数字反转
2019-04-30
YbtOJ——字符串处理【例题2】移位包含
2019-04-30
转trt步骤记录
2019-05-01
MatConvNet安装
2019-05-01
依赖错误
2019-05-01
ROS安装与卸载
2019-05-01
openrave安装
2019-05-01
安装openrave 0.9的各种依赖包
2019-05-01
trajopt代码使用
2019-05-01
kpm代码使用细节
2019-05-01