# 如何判断数组

# 1.Array.isArray

console.log(Array.isArray([])) // true
1

# 2.instanceof

console.log([] instanceof Array)
1

# 3.constructor

function isArray(arr) {
    if (!(arr instanceof Object)) {
        return false
    }
    return arr.constructor === Array
}
console.log(isArray([]))
1
2
3
4
5
6
7

# 4.Object.prototype.toString

function isArray(arr) {
    return Object.prototype.toString.call(arr) === '[object Array]'
}
console.log(isArray([]))
1
2
3
4

# 5.正则+JSON.stringify

function isArray(arr) {
    try {
        return /^\[.*\]$/.test(JSON.stringify(arr))
    } catch (err) {
        return false
    }
}
console.log(isArray([]))
1
2
3
4
5
6
7
8