问答题1022/1587js中如何判断一个值是否是数组类型?

难度:
2021-09-25 创建

参考答案:

instanceof

1const arr= []; 2arr instanceof Array; // true

Array.isArray

1const arr = [] 2Array.isArray(arr) // true 3 4const obj = {} 5Array.isArray(obj) // false

Object.prototype.isPrototypeOf

使用Object的原型方法isPrototypeOf,判断两个对象的原型是否一样, isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。

1const arr = []; 2Object.prototype.isPrototypeOf(arr, Array.prototype); // true

Object.getPrototypeOf

Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。

1const arr = [] 2Object.getPrototypeOf(arr) === Array.prototype // true

Object.prototype.toString

借用Object原型的call或者apply方法,调用toString()是否为[object Array]

1const arr = [] 2Object.prototype.toString.call(arr) === '[object Array]' // true 3 4const obj = {} 5Object.prototype.toString.call(obj) // "[object Object]"

最近更新时间:2024-07-20

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!