js 判断是否是数组

97 阅读1分钟

方法一: 使用Array.isArray()

Array.isArray([]); //true

方法二:使用instanceof操作符

var b = [];

b instanceof Array; //true

b instanceof Object; //true (因为数组是引用类型,typeof(b) //'object')

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

Object.prototype.toString.call(b) //'[object Array]'

Object.prototype.toString(b) //'[object Object]'

image.png

image.png

Array.isArray()的特异性

对于数组这种特定的引用类型,JavaScript ES5引入了Array.isArray()方法,它专门用于判断一个值是否为数组。虽然功能单一,但它提供了一种直接且明确的方式来识别数组,避免了使用更通用的instanceofObject.prototype.toString()所带来的潜在复杂性。