今天在做题时遇到这个问题,找答案的时候,发现评论里大神好多 。

在开发中,我们经常需要判断某个对象是否为数组类型,总结判断某个对象是否是数组的方法。

1.typeof 操作符

对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时,

console.log(typeof([1,2,3]))        //object

显然这个答案并不是我们想要的。

2. instanceof 操作符

JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。

语法: A instanceof B,意思是对象A的原型是否是B.prototype。如果是,返回true,如果不是,返回false。

使用方法:result = object instanceof class

var arr = [1,2,3,4,5];
console.log(arr instanceof Array);        //true

看样子我们今天讨论的问题已经得到了解答,但事实上在多个frame中穿梭就会产生大问题了。

3.Array.isArray( )

使用ECMAScript 5新增的Array.isArray()方法。这个方法的作用就是确定某个值到底是不是数组,而不管它到底是在哪个全局执行环境中创建的。

4.使用Object.prototype上的原生toString()方法

使用方法:Object.prototype.toString.call(value)

参考:https://www.cnblogs.com/fogwind/p/5884684.html

转载于:https://www.cnblogs.com/a-peppa-pig/p/9650420.html

判断一个js对象是否是Array相关推荐

  1. 判断一个js对象,是否具有某个属性

    一个对象,想必我们关注的最多的应该是它上面的属性有哪些吧.那么,怎么判断一个对象是否具有某个属性呢? 1 /*下面是一个对比,看看在判断是否包括一个键上面,Object结构和Set结构的写法不同.*/ ...

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

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

  3. ndarray 与 array 的区别 关系,所以ndarray是一个类对象,而array是一个方法

    ndarray 与 array 的区别 关系 置顶 wanglll* 2020-02-06 20:00:37  8455  已收藏 17 分类专栏: 数据分析 文章标签: numpy 版权 ndarr ...

  4. DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为(转)...

    一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢 ...

  5. 多个html网页共享变量,多个jsp页面共享一个js对象的超级方法

    今天,在项目中遇到一个问题,两个js页面要共享一个就js对象.js全局变量和静态变量都不行,其他苦逼的小农们就不要去强求了.而LZ又不想用cookie来存放,一是不安全,二个人喜好.最后发现一种超级方 ...

  6. java判断一个字符串对象是否在一个集合里面

    最初遇到的这个小问题是,如何判断一个字符串是否在一个字符串数组里面? private static boolean isBelongList(String str){ String[] strArra ...

  7. js中如何判断一个DOM对象是否存在?

    <div id="div1"></div> if(!!document.getElementById("div1")) 转载于:http ...

  8. 如何判断一个 js 变量是数组类型

    方法一:使用 instanceof 运算符, 该运算符左边是我们想要判断的变量, 右边则是我们想要判断的对象的类 let arr = [1, 2, 3] console.log(arr instanc ...

  9. 判断一个java对象中的属性是否都未赋值_100道Java基础面试题(一)

    100道Java基础面试题(一)未来大家将步入职场,面试的时候面试官还会问大家一些Java相关的问题.小编整理出100道非常实用的面试题目,可以帮助双体的小伙伴应对面试,我们一起来看看都有哪些吧! 1 ...

  10. 判断一个显示对象是否移除

    1.contains(displayObject),返回布尔值注意这个displayObject,不能是一个没被初始化的,contains(null)是会报错的. 2displayObject.sta ...

最新文章

  1. linux 信号 sigaction(是signal的扩展,在多线程应用中替代了signal)(除了信号值信息外,还可以附加数值信息(以及指针:不可跨进程):sigqueue()函数)
  2. 【数据竞赛】“达观杯”文本智能处理挑战赛6——模型优化
  3. AOSP 源码整编单编
  4. mysql 主主模式优缺点_mysql主主同步模式
  5. Leetcode--42.接雨水
  6. 一个年轻的码农的一个C#项目
  7. 代码编辑器sublime text 4130 for Mac
  8. zabbix的Discovery功能
  9. oracle的时间取的到底是谁的时间
  10. html中表格整体居中,html中怎么把表格居中
  11. 彻底关闭Windows10自动更新的详细解决方案
  12. 【乌拉喵.教程】LocalBus总线介绍及FPGA总线编程
  13. 前端web开发学习路线图
  14. 超凡颖想之一【换位思考】
  15. 在javascript中重新加载/刷新页面的不同方法
  16. Windows 上6款卸载软件值得推荐
  17. swiper如何禁止用户滑动
  18. 360校园招聘2015技术类笔试题
  19. arm linux 加密锁,ET ARM 标准锁(包含网络锁功能)
  20. 【2013Esri中国用户大会】ArcGIS的大数据挖掘和并行处理

热门文章

  1. indesign教程,如何创建和编辑图形元素的框架?
  2. HoudahSpot 6.2 for Mac文件搜索软件
  3. Ableton Live 11 Suite for Mac(数字音乐音频制作软件)
  4. 如何在 Mac 上修复丢失的鼠标光标?
  5. 如何使用Mac的屏幕时间功能限制访问网站?
  6. 【vuejs面试题】务必熟知的vuejs面试题「务必收藏」
  7. 常见的Java基础的面试题
  8. radio change事件
  9. 如何创造一门编程语言?
  10. mac windows蓝牙问题