方法一:使用 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是数组类型

如何判断一个 js 变量是数组类型相关推荐

  1. 前端之JS变量、数组

    前端之JS变量.数组 变量 -- 存储信息 声明变量 初始化 = let 和 var 的区别 更新变量 变量命名的规则 变量类型 Number String 转义字符 \ 反斜杠 字符串拼接 + 数字 ...

  2. 判断一个js对象,是否具有某个属性

    一个对象,想必我们关注的最多的应该是它上面的属性有哪些吧.那么,怎么判断一个对象是否具有某个属性呢? 1 /*下面是一个对比,看看在判断是否包括一个键上面,Object结构和Set结构的写法不同.*/ ...

  3. android js变量定义数组长度,js 声明数组和向数组中添加对象变量的简单实例

    数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...

  4. android js变量定义数组,js 声明数组和向数组中添加对象变量的简单实例

    数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...

  5. 一个JS多个数组取交集算法

    如题,多个数组中取交集(共同拥有元素),思路取第一个数组去跟每个数组中的元素对比,同时比较数据类型有救返回没有就返回null. 下面介绍到的算法数据格式是二维数组如: const parentArra ...

  6. 怎么判断一个JS文件加载完成?

    在正常的加载过程中,js的加载都是同步的,也就是说在加载过程中,浏览器会阻塞接下来的内容的加载.这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保 ...

  7. Java 判断一个字符串是否为数字类型

    public static boolean isNumberic(String str) {final String number = "0123456789.";for (int ...

  8. 判断一个字符串是否在一个数组中

    直接代码: static void Main(string[] args){string[] array = { "C#", "Asp.net", " ...

  9. 判断一个值是否是ObjectId类型

    经常用到,这里记一下 const mongoose = require('mongoose'); const { ObjectId } = mongoose.Types; ObjectId.isVal ...

最新文章

  1. 【学习笔记】抽象队列同步器AQS应用之BlockingQueue详解
  2. QQ无法安装,不用着急,用毒霸2011来解决
  3. mysql跨进程锁_python基于mysql实现的简单队列以及跨进程锁
  4. 想跟着微软赛跑会累死你
  5. PHP中面向对象的图片处理类
  6. sql md5函数_【学习笔记】常见漏洞:SQL注入的利用与防御
  7. 如何选择高性能的数据分析工具,你需要看看数据架构的进化史!
  8. 7-13 日K蜡烛图
  9. SpringMVC拦截器-路径语法-略坑
  10. OA报账规范(出差专用)
  11. CodeForces 518E Arthur and Questions(贪心 + 思维)题解
  12. js截取指定字符分割字符串
  13. 数梅派4b 显示器_无显示器配置树莓派4B
  14. 微信+html5+播放音频+自动播放,html5音频实现微信语音播放效果
  15. Typora+PicGo-core+SMMS图床踩坑记
  16. ES(elasticsearch)已启动成功但服务器IP却打不开
  17. 基于单片机的坐姿(提醒)矫正系统设计
  18. 行政和IT人员为什么需要一款固定资产管理系统?
  19. 一、Java环境介绍
  20. PAT跟奥巴马一起编程

热门文章

  1. 1919: kirito's 星爆气流斩(多重背包转换为01背包+二进制优化)
  2. 截图/贴图神器—Snipaste,下载地址
  3. eclipse运行java总显示上一个程序的运行结果(解决方案)
  4. 管理的本质是协调还是决策?看看孙权是怎么做到的。
  5. linux下ms安装教程,MS在linux的安装过程.doc
  6. 精读Bi-Exponential Edge-Preserving Smoother
  7. 第四章 Cesium学习入门之加载离线影像图(tif)
  8. java常用加密算法
  9. 外星人大战---------------游戏开发(二)
  10. 【观察】联想“内生外化”:能干肯干、真招实招加速中小企业数字化转型