jQuery.inArray()

jQuery.inArray ( value, array, fromIndex ) Returns: Numberversion added: 1.2

  • value
    Type: Anything
    The value to search for.
  • array
    Type: Array
    An array through which to search.
  • fromIndex
    Type: Number
    The index of the array at which to begin the search. The default is 0, which will search the whole array.

Description: Search for a specified value within an array and return its index (or -1 if not found).

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.

Examples:

Example: Report the index of some elements in the array.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>css demo</title>

  <style>

  div {
    color: blue;
  }
  span {
    color: red;
  }

  </style>

  <script src="//code.jquery.com/jquery-1.10.2.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>

Demo: