js如何判断是不是数组

JavaScript013

js如何判断是不是数组,第1张

// 这里提供两种js方法。返回true则是数组。var array = new Array("1", "2", "3", "4", "5")alert(array instanceof Array)alert(array.constructor == Array)// 较为严谨并且通用的方法:function isArray(object){return object &&typeof object==='object' && Array == object.constructor}

js方法可通过 instanceof 和 constructor 来判断,示例:

var arr = [1, 2, 3]

console.log(arr instanceof Array)  // true

console.log(arr.constructor == Array)  // true

另外,jquery封装了 isArray() 方法,可直接判断:

console.log($.isArray(arr))  // true

可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如:

var arr = [1,2,3]

arr.indexOf(1) // 返回0

arr.indexOf(5) // 返回-1

附:返回值为数组中的最靠前元素在数组的位置