js中判断参数或对象是否为数组的常用的三种方法

 时间:2026-02-15 10:47:20

1、【第一种方法】

使用Instanceof检测对象类型是否为数组

代码:

function isArray(arr){

   if(arr){ return arr instanceof Array; }

   return false;

}

谷歌浏览器调试工具运行测试:

js中判断参数或对象是否为数组的常用的三种方法

2、【第二种方法】

使用对象原型中的constructor构造器属性检测是否为数组

代码:

function isArray(arr){

    return typeof arr == 'object' && arr.constructor == Array;

}

运行效果

js中判断参数或对象是否为数组的常用的三种方法

3、【第三种方法】

使用最新的Array对象的isArray()方法判断,但是存在兼容性问题,IE9或以上版本。

代码:

Array.isArray([2,3]);

测试程序:

js中判断参数或对象是否为数组的常用的三种方法

js中判断参数或对象是否为数组的常用的三种方法

4、【第四种方法】最完美的方法

使用原型对象的toString()方法实现,该方法可获取对象的隐藏属性class名字,

代码:

function isArray(arr){

    return Object.prototype.toString.call(arr) == '[object Array]';

}

运行测试

js中判断参数或对象是否为数组的常用的三种方法

5、【总结】

第一种第二种方法在某些情况下还是出现问题的,在框架iframe会失败,因为jframe框架中的数据不是共享的,第三种在低版本IE中不支持,所以最完美的方式是第三和第四结合使用

代码:

function isArray(arr){

    if( Array.isArray){

      return Array.isArray(arr);

    }else{

      return Object.prototype.toString.call(arr) == '[object Array]';

    }

}

js中判断参数或对象是否为数组的常用的三种方法

  • 手机浏览器如何开启智能无图
  • 三星s8返回原厂设置
  • 痛风时的止痛方法与止痛药物
  • 家庭备用---自动开灯装置
  • 微信读书怎么开启深色模式
  • 热门搜索
    三峡旅游 旅游业 保定旅游 山东旅游职业学院 宜昌旅游 全域旅游 旅游法 嵊泗列岛旅游攻略 宁夏旅游 兰州旅游