1、判断是否属于数组实例
[] instanceof Array === true
const arr = []
console.log(arr instanceof Array) // true
2、获取它的 constructor 构造函数名
[].constructor === Array
const arr = []
console.log(arr.constructor === Array) // true
3、通过对象的原型方法判断
Object.prototype.toString.call(arr) // "[object Array]"
const arr = []
console.log(Object.prototype.toString.call(arr) === '[object Array]') // true
4、数组自身的判断方法
Array.isArray([])
const arr = []
console.log(Array.isArray(arr)) // true
5、总结、 封装:
let arr = [1, 2]
// 方法一:通过对象的原型方法判断
function isArray(arr) {
return Object.prototype.toString.call(arr) === '[object Array]'
}
// 方法二:判断是否属于数组实例
function isArray(arr) {
return arr instanceof Array
}
// 方法三:获取它的constructor构造函数
function isArray(arr) {
return arr.constructor === Array
}
// 方法四:数组自身的判断方法
function isArray(arr) {
return Array.isArray(arr)
}
console.log(isArray(arr)) // true