jQuery.inArray()
jQuery.inArray( value, array [, fromIndex] ) Returns: Number
Description: Search for a specified value within an array and return its index (or -1 if not found).
-
version added: 1.2jQuery.inArray( value, array [, fromIndex] )
valueThe value to search for.
arrayAn array through which to search.
fromIndexThe index of the array at which to begin the search. The default is 0, which will search the whole array.
The $.inArray()
method is similar to JavaScript's native .indexOf()
method in that it returns -1 when it doesn't find a match. If the first element within the array matches value
, $.inArray()
returns 0.
Because JavaScript treats 0 as loosely equal to false (i.e. 0 == false, but 0 !== false), if we're checking for the presence of value
within array
, we need to check if it's not equal to (or greater than) -1.
Example:
Report the index of some elements in the array.
<!DOCTYPE html>
<html>
<head>
<style>
div { color:blue; }
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
</head>
<body>
<div>"John" found at <span></span></div>
<div>4 found at <span></span></div>
<div>"Karl" not found, so <span></span></div>
<div>"Pete" is in the array, but not at or after index 2, so <span></span></div>
<script>var arr = [ 4, "Pete", 8, "John" ];
var $spans = $("span");
$spans.eq(0).text(jQuery.inArray("John", arr));
$spans.eq(1).text(jQuery.inArray(4, arr));
$spans.eq(2).text(jQuery.inArray("Karl", arr));
$spans.eq(3).text(jQuery.inArray("Pete", arr, 2));
</script>
</body>
</html>