检测数组类型

Posted tangjiao_Miya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测数组类型相关的知识,希望对你有一定的参考价值。

面试时候被人问如何检测一个未知变量是不是数组类型,丢脸啊,老祖宗的脸都丢没了,这都不会,回家啃书本去吧!!!

var a = [];
方法一:Array.isArray([])  //true

typeof a 在这里是帮不上忙的呦,对于数组类型返回的是object,并且是对于除了函数以外的所有对象都是如此,心累吧,瞎忙活!

方法二:a instanceof Array  //true
但是不能视为一个可靠的数组检测方法。

方法三:检测对象的类属性,对于数组来说该属性的值总是‘Array’,

Object.prototype.toString()方法进行判断,因此isArray()函数的代码可以酱紫写

 var isArray = Function.isArray || function(o){
     return typeof o === ‘object‘ &&
     Object.prototype.toString.call(o) ===‘[object Array]‘;
 }

 

以上是关于检测数组类型的主要内容,如果未能解决你的问题,请参考以下文章

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

使用 Pygments 检测代码片段的编程语言

Android - 检测投射设备的类型

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

Android:使用Tab检测单个片段viewpager

十条实用的jQuery代码片段