jQuery API 살펴보기 jQuery inArray 메서드

배열 내에 지정된 값을 찾아서 인덱스를 반환한다. (찾지 못했을 경우 -1을 반환한다.)

이 $.inArray() 메서드는 자바스크립트의 .indexOf() 메서드와 유사하다.

지정된 값을 찾지못하면 -1을 반환한다 그리고 배열의 첫번째 요소가 지정한 값과 일치 할 경우 0을 반환한다.

그냥 자바스크립트의 indexOf() 과 같다고 생각하면 될 것 같다.

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

위의 식에서는 -1을 리턴한다. 이 문자열 배열에서는 숫자를 검색하는데 숫자가 없기 때문에 -1을 반환한다.

사용법

1
$.inArray(value, array[,fromIndex]);

value 에는 찾을 값이 들어가고 array에는 배열이 들어간다.

fromIndex 부분은 시작할 인덱스의 위치를 지정해줄 수 있다. (기본 값은 0이다.)

예제

예제의 결과를 살펴보면 마지막에 -1을 반환한다. “Pete”라는 값이 있지만 인덱스를 검색할때 2번째 부터 시작했기 때문에 -1이 반환된다.

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.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>
Share