我们如何检查对象是否是Javascript中的数组?

有多种方法可以检查对象是否为JavaScript中的数组。让我们看看其中的一些-

使用Array.isArray()

所有现代的浏览器都支持此方法。

示例

console.log(Array.isArray(undefined))
console.log(Array.isArray(null))
console.log(Array.isArray(""))
console.log(Array.isArray({}))
console.log(Array.isArray([]))
console.log(Array.isArray([1, "hello"]))
console.log(Array.isArray(new Array()))

输出结果

false
false
false
false
true
true
true

构造函数检查

您可以使用arr.constructor === Array来确定对象是数组。虽然这不适用于所有对象。

示例

// This will fail: console.log(undefined.constructor === Array)
// This will fail: console.log(null.constructor === Array)
console.log("".constructor === Array)
console.log({}.constructor === Array)
console.log([].constructor === Array)
console.log([1, "hello"].constructor === Array)
console.log(new Array().constructor === Array)

输出结果

false
false
true
true
true