在新版本的浏览器中,数组存在indexOf方法,可以直接返回元素在数组的索引。
可以使用jQuery的jQuery.inArray()方法。
以下代码兼容了旧的浏览器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//在数组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; } |
调用
1 2 3 4 5 |
var arr = [2,32,4,5,6]; console.log(inArray(4, arr)); 输出 2 |