Javascript判断一个对象是否为数组

从ECMAScript 5.1开始,我们可以使用Array.isArray() 方法来准确判断一个对象是否为数组。

目前主流浏览器均支持该方法(当然不包括IE8)。

var a = [];
Array.isArray(a); // true 
var b = ‘‘;
Array.isArray(b); // false

在过去,使用如下方式,也可以准确地判断数组,该方法精确有效且兼容性良好:

var isArray = function (obj) {
    return Object.prototype.toString.apply(obj) === ‘[object Array]‘;
};

该方法参考自《JavaScript语言精粹》。

时间: 2024-11-26 02:27:39

Javascript判断一个对象是否为数组的相关文章

js判断一个对象是否为数组

1,真正的数组的判断方法 javascript中最简单的声明数组方法为: var a = []; 判断是否为数组的最直接的方法为: 复制代码 代码如下: a instanceof Array //true a .constructor == Array //true 这里涉及到一个instanceof语法,instanceof是一个云算符,与"+-*/"一样,它的语法如下: result = obj intanceof class 是用来判断一个对象是否是某个class的一个实例,运算

javascript判断一个对象是否是空对象,localStorage和sessionStorage区别

判断一个对象是否是空对象: var obj ={}; 1. if(JSON.stringify(newobj)=="{}"){ console.log('kongduixiang')  }else{ console.log('hehe')  } 2. if(Object.keys(newobj).length == 0){ console.log('kongduixiang'); } localStorage和sessionStorage区别: localStorage和session

JavaScript 判断一个变量是不是数组

如何判断一个变量是不是数组是一个很基础的问题. 1. 可以简单的使用instanceof来判断 [] instanceof Array 这种用法的缺陷是在iframe里面定义的Array 实例不能适用.例如在子iframe里面定义的变量 a = []; 如果判断: document.getElementsByTagName('iframe')[0].contentWindow.a instanceof Array 会返回false, 另外的以下的结果为true.可见iframe里面的window

Javascript判断对象是否为数组,并且数组元素对象

常规的有两种方式,第一种是jquery自带的方法,第二个是js原始方法 1. $.isArray(obj) 2. obj instanceof Array 实测发现两者确实可以判断对象是否为数组,但是只能判断简单对象的对象,对于复杂的jquery对象的数组却返回false,要判断jquery对象数组,我目前的做法是 typeof(obj) == "object" && obj.length > 1 //数组属于对象,并且数组length都大于1 另外jQuery封

javascript判断元素是否在数组中

代码: /* @desc:判断元素是否在数组中 @param value 需要判断的元素 @param arr 要检测的数组 @return true:在数组中 flase:不在数组中 */ function inarray(value,arr){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; } 测试: var arr = [1,2,5] var value =

JavaScript判断变量是否为数组的方法(Array)

废话不多说直接上一个代码: 1.这里是通用的检测方法 /* * 判断是否是数组 */ function isArray(obj){ return Object.prototype.toString.call(obj)=='[object Array]'; } 2.jquery的判断写法 var result=$.isArray(obj); 3.instanceof 操作符 var ary = [1,23,4]; console.log(ary instanceof Array)//true; 总

如何判断一个对象是否是数组。

我们知道在js中除了function以外的所有对象如果用typeof来判断的话,它们都显示Object,但是有时候我们并不想这样,比如我判断一个数组就应该是个数组而不是打印Object. var arr = []; console.log(typeof arr); //object 解决方法1: var arr = []; console.log(arr.constructor.name==="Array"); //true 解决方法2: var arr = []; console.l

判断一个对象是否是数组

在js中用typeof运算符判断数组的类型时,报告是"object",这样看来没有任何意义. 下面用一个很好的方式来区分数组和对象: var is_array = function(value){ return Object.prototype.toString.apply(value) === '[object Array]'; }

JavaScript 判断一个对象的数据类型。

1.isString 1 var isString1 = function (obj){ 2 return Object.prototype.toString.call(obj)==="[object String]"; 3 }; 4 5 6 var isString2 = function(obj){ 7 return (typeof obj==="string") 8 }; 9 10 11 var isString3 = function (obj) { 12