jQuery.inArray( value, array [, fromIndex ] )Возвращает: Число
Описание: Поиск указанного значения в массиве и возврат его индекса (или -1, если значение не найдено).
-
версия добавлена: 1.2jQuery.inArray( value, array [, fromIndex ] )
Метод $.inArray() аналогичен встроенному в JavaScript методу .indexOf(), возвращая -1 при отсутствии совпадения. Если первое значение в массиве совпадает с value, $.inArray() возвращает 0.
Поскольку JavaScript обрабатывает 0 как приблизительно равное false (т. е. 0 == false, но 0 !== false), чтобы проверить наличие value в array, необходимо проверить, не равно ли оно (или больше) -1.
Сравнение значений строгое. Следующее вернёт -1 (не найдено), потому что число ищется в массиве строк:
$.inArray( 5 + 5, [ "8", "9", "10", 10 + "" ] );
Пример:
Вывод индекса некоторых элементов в массиве.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.inArray demo</title>
<style>
div {
color: blue;
}
span {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.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>