integer判断是否为null_面试常考题JavaScript用七种方式教你判断一个变量是否为数组类型...
JS判断数组类型
我们如何判断一个变量是否为数组类型呢? 这是在前端面试中面试官经常会问到的问题,看似很简单,但想说出多种判断方式也是非常难的,今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧
方法一
使用 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是数组类型
结束语
当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧, 一定会让面试官大吃一斤的~
关注我,不迷路~
我是Lpyexplore,带你在python爬虫的过程中学习前端
作者:Lpyexplore
公众号:Lpyexplore的编程小屋
扫码关注公众号获取更多资料
integer判断是否为null_面试常考题JavaScript用七种方式教你判断一个变量是否为数组类型...相关推荐
- 算法人必懂的进阶SQL知识,4道面试常考题
(图片付费下载自视觉中国) 作者 | 石晓文 来源|小小挖掘机(ID:wAlsjwj) 近期在不同群里有小伙伴们提出了一些在面试和笔试中遇到的Hive SQL问题,Hive作为算法工程师的一项必备技能 ...
- 高职单招面试自我介绍稿子计算机专业,高职单招面试自我介绍范文及面试常考题...
如何在高职单招面试中进行自我介绍呢?对很多缺乏社会经验的考生来说,要熟悉各种各样的面试技巧,然后要懂得临场发挥,不然很有可能因为慌张而导致语无伦次,把单招面试弄砸. 单招面试自我介绍范文 各位老师好, ...
- JS判断一个变量是否是数组
方法一:Array.isArray() Array.isArray() 用于确定传递的值是否是一个 Array:返回 boolean 型,如果值是 Array则为 true:否则为 false // ...
- 如何判断一个变量是否为数组(isArray)
在我们平时的工作中经常会用到如何判断一个变量是否为数组.常用的方法很多,有用常用框架里面的,isArray.但是关于这个isArray的实现,各有不同. 常用的方法有如下几种 1.instanceof ...
- 面试常考题---交换变量
1 面试常考的试题:(交换两个变量值,不使用第三方变量) 2 方法1: int n1=50; 3 int n2=30; 4 //最终结果n1=30 n2=50 5 6 n1=n1-n2;//n1=20 ...
- 遇见运维(一)运维面试常考题
1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一 ...
- 面试官 | Java转List三种方式,你说说吧。我。。懵逼。啥时候有三种了
Hi 我是小小,我们又见面了,本文主要介绍Java数组转List的三种方式以及对比 前言 本文主要介绍Java中数组转为List的三种情况的优劣对比,以及应用场景. 第一种 通过 Arrays.asL ...
- 前端面试常考题:JS垃圾回收机制
摘要:众所周知,应用程序在运行过程中需要占用一定的内存空间,且在运行过后就必须将不再用到的内存释放掉,否则就会出现下图中内存的占用持续升高的情况,一方面会影响程序的运行速度,另一方面严重的话则会导致整 ...
- 网络技术/技术支持岗位在网络安全大厂/互联网公司笔试面试常考题-计算机网络知识点总结
目录 1.OSI七层模型及各层作用 2.TCP/IP模型 3.ARP地址解析协议(工作在网络层和数据链路层) 4.MAC层的功能&MAC地址的作用 MAC层功能: MAC地址作用什 ...
- 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)
上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络.数据结构和算法.分布式理论和微服务的常见面试题. 一.网络 网络的话,主要集中 ...
最新文章
- 深度学习核心技术精讲100篇(八)-keras 实战系列之深度学习中的多任务学习(Multi-task learning)
- python:从入门到实践-----外星人入侵的图片问题
- Hadoop |集群的搭建
- 在操作系统理论中,什么是饿死
- 网络协议之:一定要大写的SOCKS
- Java class不分32位和64位
- flyway常用配置_Spring Boot 2.x基础教程:使用Flyway管理数据库版本
- 字体编辑器_Mac系统常见的Birdfont字体编辑器
- UVA11556 Best Compression Ever【位运算】
- linux轮训创建文件夹,Linux文件和目录管理相关命令(三)
- memcached 快速入门
- Testbench编写
- ch cc 2019Mac(ch cc 2019直装版)2.1中文特别版
- LIBJPEG-TURBO库移植
- 音乐Npc弹窗 c#
- Windows 禁用U盘
- 掌握命令结构,详解monkey命令
- Euclid‘s Game(博弈)
- Depth from Motion:探索突破纯视觉 3D 检测瓶颈
- 一、一个月有多少天(Biweekly4)