hi,欢迎访问本站!
当前位置: 首页Web前端正文

js如何判断是否为数组

墨初 Web前端 297阅读

js脚本中判断一个变量是否为数组,有多种方法可以实现。下面就说几种在js脚本中判断变量是否为数组的方法。

js判断是否为数组的方法

1、js Array.isArray()方法

Array.isArray()是ES6标准提供的一个判断数组的方法,可以参考下面的示例进行使用。

例:

var arr = ['1','2'];
var str = '1';
var a = undefined;
var b = null;
//函数包装一下
function isArray(arr) {
    return Array.isArray(arr)
}
console.log(isArray(arr)); // true
console.log(isArray(str)); // false
console.log(isArray(a)); //false
console.log(isArray(b)); //false

2、通过一些构造函数来判断

instanceof用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上。

例:

function Person(){};
var p = new Person();
console.log(p instanceof Person);//true 
//数组判断
var a = ['1','2'];
var b = {};
function isArray(arr){
  return arr instanceof Array;
}
console.log(isArray(a));//true
console.log(isArray(b));//false

3、通过constructor判断实例是否指向构造函数

实例的构造函数属性constructor指向构造函数,那么通过constructor属性也可以判断是否为一个数组。

例:

var a = ['1','2','3'];
function isArray(a){
  return a.constructor === Array;
}
console.log(isArray(a));//true

4、通过 Object.prototype.toString.call()判断对象的不同类型

Object.prototype.toString().call()可以获取到对象的不同类型。

例:

var a = ['1','2'];
function isArray(arr){
   if(Object.prototype.toString.call(arr) === '[object Array]'){ 
        return true
    }else{
        return false
    }
}
console.log(isArray(a));//true

以上就是javascript中4中判断变量是否为数组的方法,希望对大家有帮助吧。

声明:无特别说明,转载请标明本文来源!
相关推荐