前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Javascript-判断是否为数组的5种方法

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

作者头像
全栈程序员站长
发布2022-11-17 10:14:17
1.3K0
发布2022-11-17 10:14:17
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

代码语言:javascript
复制
var arr= [1,1,1,1]
var a = '2323'
var b =  { 
   name:'xiao',age:12}
var n = 1

1 instanceof

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

代码语言:javascript
复制
console.log('方法1',arr instanceof Array); //如果是数组 打印结果为 true

2 constructor

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

代码语言:javascript
复制
console.log('方法2',arr.constructor === Array);//true

3 Array.isArray() 最推荐方法

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

代码语言:javascript
复制
console.log('方法3',Array.isArray(arr)); //true

4 typeof

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

代码语言:javascript
复制
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]

代码语言:javascript
复制
console.log(Object.prototype.toString.call(arr).indexOf('Array') !== -1); //true
console.log(Object.prototype.toString.call(arr) === '[object Array]');    //true

总结

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 判断是否为数组的5种方法
  • 1 instanceof
  • 2 constructor
  • 3 Array.isArray() 最推荐方法
  • 4 typeof
  • 5 Object.prototype.toSrtring.call()
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档