博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 用七种方式教你判断一个变量是否为数组类型
阅读量:1995 次
发布时间:2019-04-27

本文共 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是数组类型

结束语

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

转载地址:http://qrhvf.baihongyu.com/

你可能感兴趣的文章
android 文件存储总结
查看>>
android SQLite操作总结
查看>>
bash 多个后台程序顺序执行
查看>>
vim 替换和搜索
查看>>
sed学习笔记 -n 只打印匹配行
查看>>
Unix Sed Tutorial3 : Find and Replace Text Inside a File Using RegEx
查看>>
Unix Sed Tutorial 1 : Printing File Lines using Address and Patterns
查看>>
Unix Sed Tutorial 2 : Delete File Lines Using Address and Patterns
查看>>
Unix Sed Tutorial4 : How To Write to a File Using Sed
查看>>
Unix Sed Tutorial 5: How To Execute Multiple Sed Commands
查看>>
Unix Sed Tutorial6 : Append, Insert, Replace, and Count File Lines
查看>>
Unix Sed Tutorial 7 : Advanced Sed Substitution Examples
查看>>
gravity 和 layout_gravity的区别
查看>>
Unix Sed Tutorial8 : Multi-Line File Operation with 6 Practical Examples
查看>>
github 接受pull request
查看>>
vim使用:自动加载模板
查看>>
Git Push 避免用户名和密码方法
查看>>
Awk Tutorial
查看>>
grep 与 egrep , 正则表达式与延伸正则表达式
查看>>
vim中出现^[[37m^[[41m符号
查看>>