JavaScript/배열(Array)

[JavaScript] 배열 특정 값 인덱스(index) 찾기(2) - lastIndexOf()

효니님 2023. 9. 13. 12:31
728x90

 

 

indexOf(), lastIndexOf(), findIndex() 메서드를 이용하여

특정 값 index를 찾을 수 있습니다.

 

이전 포스팅에서 indexOf() 메서드를 이용한 방법을 알아보았습니다.

[JavaScript] 배열 특정 값 인덱스(index) 찾기(1) - indexOf()

 

배열 특정 값 인덱스(index) 찾기 - lastIndexOf()

이 포스팅에서는 lastIndexOf() 메서드를 이용하여

배열에서 특정 값의 index를 찾는 방법을 알아보겠습니다.

 

 

lastIndexOf()

arr.lastIndexOf(searchElement[, fromIndex])

indexOf가 처음 발견되는 문자열에 대한 index를 반환하는 반면,
lastIndexOf는 배열 내에서 찾고자 하는 값정확하게 일치하는 마지막 요소의 index를 반환합니다.

찾으려는 값이 배열에 존재하지 않으면 -1을 반환합니다.

배열 탐색은 fromIndex부터 역방향으로 진행하며

searchElement와 같은 값을 찾아 첫 번째로 같은 값을 가지는 index를 반환합니다.

lastIndexOf() 메서드는 === 연산자를 사용하여 비교하며,

타입과 값이 모두 동일한 값이어야 같은 값으로 처리합니다.

  • lastindexOf는 뒤에서부터 앞으로 탐색하지만 요소를 찾은 후,
    뒤에서부터 몇 번째 위치하는지 (오른쪽 -> 왼쪽) 세는 것이 아니라
    앞에서부터 몇 번째에 (왼쪽 -> 오른쪽) 위치하는지를 반환합니다.

 

 

searchElement

배열에서 찾고자 하는 값

 

 

fromIndex

역순으로 검색을 시작할 index

입력하지 않으면 arr.length -1 index부터 검색을 시작합니다.

검색을 시작할 index가 음수일 경우에도 검색 순서는 뒤에서 앞으로 진행합니다.

 

 

반환값

배열 내의 찾고자 하는 값이 일치하는 마지막 요소의 index를 반환합니다.

찾으려는 값이 배열에 존재하지 않으면 -1을 반환합니다.

 

 

const arr = [2, 2, '2', '2', 2];
console.log(arr.lastIndexOf('2')); // 3
console.log(arr.lastIndexOf(2)); // 4
console.log(arr.lastIndexOf('2', 2)); // 2
console.log(arr.lastIndexOf(0)); // -1

arr.lastIndexOf('2')

arr.lastIndexOf('2')

배열의 뒤에서부터 탐색했을 때 값 '2'를 가지는 마지막 index는 3입니다.

 

 

 

arr.lastIndexOf(2)

arr.lastIndexOf(2)

배열의 뒤에서부터 탐색했을 때 값 2를 가지는 마지막 index는 4입니다.

 

 

 

arr.lastIndexOf('2', 2)

arr.lastIndexOf('2', 2)

index 2부터 역방향으로 배열을 탐색했을 때

찾고자 하는 '2'와 값이 같은 첫 번째 index는 2입니다.

 

 

arr.lastIndexOf(0)

배열에 찾고자 하는 값 0이 없으므로 -1을 반환합니다.

 

 

 

 

lastIndexOf() 메서드를 이용하여 

배열에서 특정 값의 index를 찾는 방법을 알아보았습니다.

다음 포스팅에서는

findIndex() 메서드를 이용한 배열에서 특정 값의 index를 찾는 방법을 알아봅니다.

728x90