js判断是否是数组几种方法(Es6新增方法判断是否为数组)
用js判断一个变量是否为数组的方法,有很多种方法本文讲解6种方法,ES6为我们提供了Array.isArray() 方法更加简单高效地判断是否是数组,如果返回值是数组,则为 true,否则为 false。其他5种方法可以了解下,强烈推荐使用Array.isArray() 方法来判断是否是数组,使用简单方便。
1、Array.isArray方法(推荐)
let arr = [1,2,3] console.log(Array.isArray(arr)) //true
说明:Array.isArray() 方法是ES6提供的新增方法,更加简单高效地判断 JS 对象是否为数组,如果值是 Array,则为 true; 否则为 false。
2、instanceof 方法
let arr = [1,2,3] console.log(arr instanceof Array) //true
说明:instanceof方法是通过原型去判断
3、__proto__方法
let arr = [1,2,3] console.log(arr.__proto__ === Array.prototype) //true
说明:__proto__方法是通过原型去判断
4、constructor方法
let arr = [1,2,3] console.log(arr.constructor === Array) //true
说明:constructor方法是通过原型去判断
5、Object.prototype.toString方法
let arr = [1,2,3] let flag = Object.prototype.toString.call(arr) === '[object Array]' console.log(flag) //true
说明:Object.prototype.toString方法通过object类型的副属性class去判断的,其中数组的class是Array,结果是[object Array], 普通的对象是Object,结果是[object Object]
6、typeof方法
let arr = [1,2,3] console.log(typeof arr) //object
说明:用typeof方法返回object,数组也是对象没错,但用typeof方法来判断是否为数组是很不准确的,typeof方法只适合拿来判断简单数据类型,非常不推荐使用它来判断是否为数组
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/js/345.html
原文地址:https://tangjiusheng.cn/js/345.html