JavaScript查找数组是否存在指定元素
在新版本的浏览器中,数组存在indexOf方法,可以直接返回元素在数组的索引。 可以使用jQuery的jQuery.inArray()方法。 以下代码兼容了旧的浏览器。
//在数组array中搜索指定的值value,并返回此索引,如果不存在,返回-1
function inArray(value, array, fromIndex) {
var d;
var indexOf = [].indexOf;
if (array) {
if (!indexOf){
return indexOf.call(array, value, fromIndex);
}
for (d = array.length, fromIndex = fromIndex ? 0 > fromIndex ? Math.max(0, d + fromIndex) : fromIndex : 0; d > fromIndex; fromIndex++) {
if (fromIndex in array && array[fromIndex] === value) {
return fromIndex;
}
}
}
return -1;
}调用:
var arr = [2,32,4,5,6]; console.log(inArray(4, arr)); 输出 2
