判断一个对象是否是数组

  • 调用 Array.isArray() 方法
  • 判断是否为数组的实例
  • 判断对象的构造函数是否是 Array
  • 判断原型对象与数组的原型对象是否一致
  • Object.prototype.toString
function judgeArray(arr, pattern){
    switch(pattern){
        case 1:
            return Array.isArray(arr); //ES6新增
            break;
        case 2:
            return arr instanceof Array;
            break;
        case 3:
            return arr.constructor === Array;
            break;
        case 4:
            return Object.getPrototypeOf(arr) === Array.prototype;
            break;
        case 5:
            return  Object.prototype.toString.call(arr) === '[object Array]';  //通过object类型的副属性class去判断的,其中函数的class是Function,结果是[object Function], 普通的对象是Object,结果是[object Object]
            break;
} }

 

posted @ 2020-05-28 09:21  apple78  阅读(198)  评论(0)    收藏  举报