方法一:Array.isArray()

  • Array.isArray() 用于确定传递的值是否是一个 Array;返回 boolean 型,如果值是 Array则为 true;否则为 false
// 下面的函数调用都返回 true
Array.isArray([])
Array.isArray(new Array())
// 鲜为人知的事实:其实 Array.prototype 也是一个数组,会打印出原型链上的所有方法
Array.isArray(Array.prototype)

方法二:instanceof 运算符

  • 判断一个变量是否是数组的实例对象,如果变量是 Array 的实例对象,则为 true; 否则为 false
  • 当检测 Array 实例时,Array.isArray 优于 instanceof,因为 Array.isArray 能检测 iframes
var iframe = document.createElement('iframe')
document.body.appendChild(iframe)
xArray = window.frames[window.frames.length-1].Array
var arr = new xArray(1,2,3) // [1,2,3]Array.isArray(arr)  // true
arr instanceof Array // false

方法三:Object.prototype.toString.call()

  • Object.prototype.toString.call() 方法判断一个变量数据类型,返回字符串数组,如 '[object Object]'
  • 假如不存在 Array.isArray() 方法,封装以下函数
function isArray(arr){return Object.prototype.toString.call(arr) === '[object Array]'
}
const res = isArray([])
console.log(res)

参考资料:

Array.isArray() - JavaScript | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray

JS判断一个变量是否是数组相关推荐

  1. 如何判断一个变量是否为数组(isArray)

    在我们平时的工作中经常会用到如何判断一个变量是否为数组.常用的方法很多,有用常用框架里面的,isArray.但是关于这个isArray的实现,各有不同. 常用的方法有如下几种 1.instanceof ...

  2. 判断一个变量类型是数组还是对象

    var arr=[1]; var json={age:18} 数组或者对象的typeof 值都是object. 一.通过length 一般情况下对象没有length属性值,其值为undefiend,而 ...

  3. js判断一个变量为空的终极解决方案

    var item; if(typeof(item) == "undefined" || typeof(item) == "null" || item== nul ...

  4. python3判断变量存在_Python3基础 list in/not in 判断一个变量是否在列表中存在

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  5. php 判断类型array,判断一个变量是数组Array类型的方法_javascript技巧

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  6. JavaScript判断一个变量是对象还是数组

    typeof都返回object 在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回objec ...

  7. js判断一个数组是否为另一个数组的子集

    一.利用every()和includes() /*js判断一个数组是否为另一个数组的子集*/ let arr1=[1,2,3,null,NaN,undefined,Infinity,'']; let ...

  8. js 判断一个 object 对象是否为空

    js 判断一个 object 对象是否为空 转载原文 判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,为真则为"非空数组":否 ...

  9. shell中如何判断一个变量是否为空

    shell中如何判断一个变量是否为空 shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过" "引号引起来 #!/ ...

最新文章

  1. 2020年度最佳的23个的机器学习项目(附源代码)
  2. redis有序集合类型sort set
  3. 关于量子计算机论文,终于,科学家们找到了只有量子计算机才能解决的问题
  4. Spark-1.4.0集群搭建
  5. python入门区块链技术_区块链入门教程
  6. 元组字典集合内置方法与拷贝
  7. php自定义中文分词方法,php实现的中文分词类完整实例
  8. js浏览器页面生命周期
  9. 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
  10. EDKII Build Process:EDKII项目源码的配置、编译流程[3]
  11. SMILES Enumeration
  12. Android 適配器的回調
  13. html 禁止触摸事件,html5的触摸事件
  14. c++ private、protect、public、virtual详细说明***
  15. 使用 vue-i18n 进行Vue国际化处理,使项目切换中英文
  16. 我国现行的计算机软件保护条例是在,等三条例将施行
  17. 资讯汇总230207
  18. 机考怎么作弊_电脑考试怎么作弊
  19. matlab 振动信号 阀值去噪,基于MATLAB的振动信号去噪研究
  20. 务实了,才能点亮生活

热门文章

  1. iOS4 and wireless application deploy
  2. 超千家企业和机构共建的区块链开源社区,助力区块链工科师资研修
  3. MAC地址、IP地址、子网掩码、域名、DNS、网关
  4. [Hei.Captcha] Asp.Net Core 跨平台图形验证码实现
  5. 智能卡 14443A 协议 读卡器 和智能卡 数据传输协议
  6. 同步和异步、阻塞和非阻塞之间的关系以及同步阻塞、同步非阻塞、异步阻塞、异步非阻塞的含义
  7. 在交互性要求强的场合,SilverLight使用Ajax是愚蠢选择
  8. WebOS新曙光-TOMOS(网络操作系统)
  9. Mybatis篇_转义
  10. JavaScript:添加与删除数组的方法详解