判断是否为数组的最佳方法

发布时间:2019-01-03 作者:一点通


开发中经常会遇到需要判断一个值是否为数组的场景,当然有很多方式,其中最好的是直接使用Array.isArray()方法

// 下面的函数调用都返回true
Array.isArray([])
Array.isArray([1])
Array.isArray(new Array())

Array.isArray()支持IE9+,基本上可以放心使用,如果有更高的兼容性要求,我们可以用下面的通用方法作为polyfill

if(!Array.isArray){
    Array.isArray = function(arg){
        return Object.prototype.toString.call(arg) === '[Object Array]'
    }
}

var arr = [1, 2, 3, 4]
var result = Array.isArray(arr)
// 返回true

或者直接调用

var arr = [1, 2, 3, 4]
var result = Object.prototype.toString.call(arr) === '[Object Array]'

//返回true