Javascript-判断是否为数组的5种方法

Javascript-判断是否为数组的5种方法判断是否为数组的5种方法1instanceof2constructor3Array.isArray()最推荐方法4typeof5Object.prototype.toSrtring.call()总结vararr=[1,1,1,1]vara=’2323’varb={name:’xiao’,age:12}varn=11instanceof1instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

var arr= [1,1,1,1]
var a = '2323'
var b =  { 
   name:'xiao',age:12}
var n = 1

Jetbrains全家桶1年46,售后保障稳定

1 instanceof

1 instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值。
注意的是,prototype属性是可以修改的,所以并不是最初判断为true就一定永远为真。

console.log('方法1',arr instanceof Array); //如果是数组 打印结果为 true

2 constructor

实例的构造函数属性constructor指向构造函数,那么通过constructor属性也可以判断是否为一个数组。
这种判断也会存在多个全局环境的问题,导致的问题与instanceof相同。

console.log('方法2',arr.constructor === Array);//true

3 Array.isArray() 最推荐方法

同样能准确判断,但有个问题,Array.isArray() 是在ES5中提出,也就是说在ES5之前可能会存在不支持此方法的情况。

console.log('方法3',Array.isArray(arr)); //true

4 typeof

使用该方法 判断数组时 打印结果为object

console.log('方法4',typeof n); //number
console.log('方法4',typeof(b)) //object

5 Object.prototype.toSrtring.call()

当使用该方法判断其他数据类型时要注意一点是,IE8及IE8以下,undefined和null均为Object,IE9及IE9以上为[object Undefined]和[object Null]

console.log(Object.prototype.toString.call(arr).indexOf('Array') !== -1); //true
console.log(Object.prototype.toString.call(arr) === '[object Array]');    //true

总结

个人学习过程中的方法总结,欢迎大家留言或者私信给出建议,我会及时更正,谢谢大家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224128.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月27日 下午3:22
下一篇 2025年6月27日 下午4:01


相关推荐

  • 《算法》-1.5-并查集算法

    《算法》-1.5-并查集算法并查集 union find 算法并查集算法真的是简单却又非常实用的一种算法 要想理解这个算法可以用一个非常生动的例子说明 叫解密犯罪团伙 这是从 啊哈算法 看到的 讲解的非常生动形象 在一堆数量为 n 的犯人里 如果 n1 和 n2 是团伙 n2 又和 n3 是一伙 诸如此类的线索还有很多 问你 这 n 个人里有多少个犯罪团伙 其实还有个例子可以非常清楚到位的概括这个模型 那就是平面上有 n 个点 给定一条边既可以将

    2026年3月16日
    2
  • app抓包分析sign

    app抓包分析sign介绍:简单的app抓包分析sign一:准备工具jeborjadxorgdaandsoon首先抓包:点击登录抓取包:可以看见,这里直接抓到账户密码。我们可以通过DDMS查看日志信息:通过添加筛选,可以直接看到信息。我们在看看代码逻辑:对比一下,可以看到,是一样的,说明就是将一串密钥+我们的data数据,然后进行MD5加密得到的sign。后面的代码:应该是在做编码,这里得到正确的结果,就不用看他了。如果结果不正确,可以分析下这个代码的是在干什么,你也可以自己分

    2022年5月9日
    50
  • java 调用asmx[通俗易懂]

    java 调用asmx[通俗易懂]packagecom.webservice.test;importjava.util.Vector;importjavax.xml.namespace.QName;importjavax.xml.rpc.ParameterMode;importjavax.xml.rpc.encoding.XMLType;importorg.apache.axis.clien

    2022年6月9日
    42
  • SKU与SPU的区别

    SKU与SPU的区别博客园的解释 做订单系统中 遇到这两个名词 在网上查了下解释 记录下 1 SKU StockKeeping 库存量单元 SKU 是商品下的一个分类属性 商品下一个颜色或者尺码 2 SPU StandardProd 标准化产品单元 SPU 是一个商品编码一个 SPU 可以对应多个 SKU 简单的说 SPU 就是一个 iPhone6s SKU 就是银色

    2026年3月26日
    2
  • 计算自然对数的快速算法

    计算自然对数的快速算法引言在 1982 年 Tateaki Sasaki 和 YasumasaKana 发表了一篇论文 PracticallyF PrecisionEva x 在这篇只有四页的论文中 他们介绍了一个计算自然对数的快速算法 实现该算法的 C 程序我们知道 NETFramework 中的 System

    2026年3月19日
    1
  • 如何给自己的网站申请SSL数字证书以支持https

    如何给自己的网站申请SSL数字证书以支持httpsbr 要支持 https 需要一个 ssl 数字证书 需要其它机构来签名 大概过程如下 本文是转载 但有修改 br 1 首先保证安装了 Openssl 并且能够在在终端执行它 br openssl 是个很强大的工具 它有 windows 版本 可以试试 windows 版本 br 但是 windows 版本不稳定 可能会执行出错 br 其实你找个 linux 主机 一般就有 openssl linux 下装起来更方便 openssl 本来属于 linuxbr 或者 vmware 装个 linux 也行 我们就用 o

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号