3. 判断数组的方式有哪些

4 阅读1分钟

3. 判断数组的方式有哪些

1.通过Object.prototype.toString.call()判断

console.log(Object.prototype.toString.call([]).slice(8,-1)) //Array

2.通过原型链做判断

const arr = []
console.log(arr.__proto__ === Array.prototype);//true

3.通过ES6的Array.isArray()做判断

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

4.通过instanceof做判断

console.log([] instanceof Array); //true

5.通过Array.prototype.isPrototypeOf

console.log(Array.prototype.isPrototypeOf([1,2])) //true

Array.isArray(arr) —— 首选,最准

Object.prototype.toString.call(arr) —— 通用稳定

arr instanceof Array —— 简单,但跨窗口不准

Array.prototype.isPrototypeOf(arr) —— 同 instanceof

Object.getPrototypeOf(arr) === Array.prototype —— 标准原型判断