1.通过instanceof判断

instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值

2.通过constructor判断

实例的构造函数属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组

3.通过Object.prototype.toString.call()判断

Object.prototype.toString.call()可以获取到对象的不同类型

4.通过Array.isArray()判断

Array.isArray()用于确定传递的值是否是一个数组,返回一个布尔值

有个问题是Array.isArray()是ES5新增的方法,目的就是提供一个稳定可用的数组判断方法,对于ES5之前不支持此方法的问题,我们其实可以做好兼容进行自行封装,如下:

5.补充:typeof

typeof 只能检测 基本数据类型,包括boolean、undefined、string、number、symbol,而null ,Array、Object ,使用typeof出来都是Object,函数的typeof 是function 无法检测具体是哪种引用类型。

本文参考链接:https://www.cnblogs.com/echolun/p/10287616.html

js 判断数组的4种方法相关推荐

  1. 如何判断数组的四种方法

    日常中我们会用typeOf运算符去判断数据的类型,结果如下 其中对于对象和数组用typeof方法得到的结果都是object,这是因为在JavaScript中所有数据类型严格意义上都是对象,对象是对象, ...

  2. html怎么创建数组,js创建数组的三种方法 JS数组去重的几种常见方法

    JS数组有哪几种定义方式? js 里创建一个数组 那几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗?? function clear(arr) { // 1 如何获 ...

  3. js 判断数据类型的几种方法

    粗体判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法 ...

  4. js清空数组的三种方法

    JavaScript中清空数组的三种方式 js清空数组的方法 1.splice函数 arrayObject.splice(index,howmany,element1,.....,elementX) ...

  5. JS判断数据类型的5种方法

    我们先来了解一下JS中数据类型有哪些 基本数据类型(值类型):String.Number.boolean.null.undefined.symbol(es6新增的) 引用数据类型 (引用类型):obj ...

  6. JS合并数组的几种方法及优劣比较

    本文属于JavaScript的基础技能. 我们将学习结合/合并两个JS数组的各种常用方法,并比较各种方法的优缺点. 我们先来看看具体的场景: var q = [ 5, 5, 1, 9, 9, 6, 4 ...

  7. JS遍历数组的几种方法

    1.普遍的遍历方式 for(var i= 0;i<arr.length;i++){console.log("第一种遍历方式:"+arr[i]); } 2.for-in两个形参 ...

  8. js 判断数据类型的四种方法

    1,typeof typeof 返回的数据类型有 undefined boolean (true,false) string symbol number function object 注意  typ ...

  9. JS清空数组的几种方法比较

    方式1:splice函数 arrayObject.splice(index,howmany,element1,-,elementX) index:必选,规定从何处添加/删除元素. howmany:必选 ...

  10. js创建数组的四种方法【2021.11.13】

    参考书籍<JavaScript百炼成仙> 1.直接量定义数组: var arr = [1,2,3]; 2.采用构造函数的方法创建数组对象: var a =new Array(); 3.也是 ...

最新文章

  1. Ubuntu 14.04系统托盘图标问题,skype托盘图标显示
  2. 洛谷——1115 最大子段和(区间DP)
  3. 一次gitlab无法使用ssh登录的问题解决
  4. delphi 执行一个外部程序,当外部程序结束后言主程序立即响应
  5. 【网址收藏】Centos7.3离线(rpm方式)安装mysql服务
  6. java comet demo,[转]comet4j的简单应用
  7. qt 加载rtsp流_qt_ffmpeg_rtsp 在QT中拉取RTSP视频流并用FFMPEG解码播放 - 下载 - 搜珍网...
  8. 帧内16*16模式的宏块数据传输顺序
  9. 专题导读:新基建环境下的数据资产价值评估与定价
  10. 第十节(补课):函数的扩展 — 箭头函数的this使用
  11. 浅谈ajax中get与post的区别,以及ajax中的乱码问题的解决方法
  12. 关于页面文件路径的问题
  13. 阿里云轻量应用服务器解读,为中小企业提供数字化的解决之道
  14. Java: JavaMail 初试(一)
  15. CRM系统创建营销活动
  16. 花生壳域名绑定动态IP原理浅析
  17. A+B Problem——经典中的经典
  18. PHP 获取第一个汉字大写首字母
  19. Oracle 11g实时SQL监控 --好东西不该藏着
  20. 使用ST-LINK下载遇到的连接错误

热门文章

  1. java crc8_CRC8校验的java实现 | 学步园
  2. Python给gif图片加文字水印
  3. 4.1 手工编写第一个性能测试脚本
  4. iOS GPS定位减小精度误差的几种处理方法
  5. 怎么把cad转化为jpg图片
  6. 对视频中车辆车牌进行识别并圈出
  7. 三种 绘制奈奎斯特曲线 的方法
  8. 用HTML+css制作一个简单的三级导航
  9. Redis内存回收机制(Redis 过期策略、淘汰策略)
  10. php中 不等运算符是,PHP中,不等运算符是