博客
关于我
js 判断一个对象是否是数组
阅读量:716 次
发布时间:2019-03-21

本文共 1092 字,大约阅读时间需要 3 分钟。

如何确定变量是否为数组?以下是几种常用的方法,并附带示例说明:

方法一:arr instanceof Array

这种方法直接使用 JavaScript 的类型判断功能,简单且直观。

if (arr instanceof Array) {  // 处理是数组的情况}

此方法的缺点是,在某些框架中可能无法正常工作,比如避免直接使用内置 RTL(例如在某些模块化框架中可能导致错误)。

方法二:Array.isArray(arr)

这种方法通过调用 JavaScript 的内置函数 Array.isArray 来判断数组。这种方法更为可靠,且在所有环境中都适用。

if (Array.isArray(arr)) {  // 处理是数组的情况}

这种方法不仅简洁,而且不容易引发安全问题,深受开发者推荐。

方法三:Object.prototype.toString.call(arr) === "[object Array]"

这是最通用的方法,适用于所有情况。虽然稍微复杂一些,但能有效避免跨框架问题。

if (Object.prototype.toString.call(arr) === "[object Array]") {  // 处理是数组的情况}

这种方法通常用于需要更严格检查或防止潜在错误(例如在不确定环境下)。

说明

以下是一些通过 Object.prototype.toString.call() 方法得到的常见结果示例:

  • Object.prototype.toString.call(123) —— "[object Number]"
  • Object.prototype.toString.call('123') —— "[object String]"
  • Object.prototype.toString.call(undefined) —— "[object Undefined]"
  • Object.prototype.toString.call(true) —— "[object Boolean]"
  • Object.prototype.toString.call({}) —— "[object Object]"
  • Object.prototype.toString.call([]) —— "[object Array]"
  • Object.prototype.toString.call(function() {}) —— "[object Function]"

这些方法可以帮助你准确判断变量的类型。根据需要选择最合适的方法,结合代码环境和可读性因素进行选择。

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

你可能感兴趣的文章
2021年低压电工考试及低压电工考试申请表
查看>>
2021年低压电工考试及低压电工考试申请表
查看>>
2021年A特种设备相关管理(电梯)考试APP及A特种设备相关管理(电梯)复审考试
查看>>
2021年美容师(初级)考试报名及美容师(初级)新版试题
查看>>
2021年N1叉车司机考试题及N1叉车司机复审模拟考试
查看>>
2021年危险化学品经营单位主要负责人考试APP及危险化学品经营单位主要负责人多少钱
查看>>
2021年T电梯修理考试技巧及T电梯修理模拟考试软件
查看>>
2021年R2移动式压力容器充装考试题及R2移动式压力容器充装找答案
查看>>
2021年高处安装、维护、拆除考试资料及高处安装、维护、拆除证考试
查看>>
2021年电工(初级)考试及电工(初级)证考试
查看>>
2021年安全员-B证-项目负责人(广东省)新版试题及安全员-B证-项目负责人(广东省)考试试卷
查看>>
2021年R2移动式压力容器充装考试总结及R2移动式压力容器充装模拟考试
查看>>
2021年安全员-B证(山东省)考试APP及安全员-B证(山东省)考试技巧
查看>>
2021年安全员-A证-主要负责人(广东省)复审考试及安全员-A证-主要负责人(广东省)操作证考试
查看>>
2021年安全员-A证(山东省)考试题及安全员-A证(山东省)报名考试
查看>>
2021年G1工业锅炉司炉考试报名及G1工业锅炉司炉模拟考试题库
查看>>
大数据学习之Spark——00Spark项目的pom.xml文件
查看>>
大数据学习之Spark——01Spark概述
查看>>
比特币史话·78 | 有容乃大(2): 零食售卖机
查看>>
比特币史话·96 | 隐私(3): 熔币重铸
查看>>