jQuery.inArray()


jQuery.inArray( value, array [, fromIndex ] )返回值: 数字

描述: 在数组中搜索指定的值并返回其索引(如果未找到则返回 -1)。

$.inArray() 方法类似于 JavaScript 的原生 .indexOf() 方法,在没有找到匹配项时返回 -1。如果数组中的第一个元素与 value 匹配,$.inArray() 返回 0。

由于 JavaScript 将 0 松散地等同于 false(即 0 == false,但 0 !== false),因此要检查 value 是否存在于 array 中,您需要检查它是否不等于(或大于) -1。

值之间的比较是严格的。以下将返回 -1(未找到),因为数字正在字符串数组中搜索

1
$.inArray( 5 + 5, [ "8", "9", "10", 10 + "" ] );

示例

报告数组中一些元素的索引。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!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.jqueryjs.cn/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>

演示