判断数组有哪些方法?
-
Array.isArray()
const arr = [1,2,3] console.log(Array.isArray(arr)) // true')
-
constructor
console.log(arr.constructor === Array) // true
-
instanceof (只能判断对象类型,不能判断原始类型,并且所有的对象类型都是Object)
[] instanceof Object //true [] instanceof Array //true {} instanceof Object //true new String('3213') instanceof String //true '1231' instanceof String //false console.log(arr instanceof Array)
-
Object.prototype.toString()
console.log(Object.prototype.toString.call(arr) === '[object Array]'
- 其中instanceof 其实原则上也是用constructor来判断的
- 工作中中的写法
if(!Array.isArray) { // 判断浏览器是否有isArray方法
Array.isArray = function(arg){
return Object.prototype.toString.call(arg) === '[object Array]'
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。