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')
배열의 뒤에서부터 탐색했을 때 값 '2'를 가지는 마지막 index는 3입니다.

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

arr.lastIndexOf('2', 2)
index 2부터 역방향으로 배열을 탐색했을 때
찾고자 하는 '2'와 값이 같은 첫 번째 index는 2입니다.
arr.lastIndexOf(0)
배열에 찾고자 하는 값 0이 없으므로 -1을 반환합니다.
lastIndexOf() 메서드를 이용하여
배열에서 특정 값의 index를 찾는 방법을 알아보았습니다.
다음 포스팅에서는
findIndex() 메서드를 이용한 배열에서 특정 값의 index를 찾는 방법을 알아봅니다.
'JavaScript > 배열(Array)' 카테고리의 다른 글
| [JavaScript] 배열 특정 값 찾기 - find(), filter() (0) | 2023.09.13 |
|---|---|
| [JavaScript] 배열 특정 값 인덱스(index) 찾기(3) - findIndex() (0) | 2023.09.13 |
| [JavaScript] 배열 특정 값 인덱스(index) 찾기(1) - indexOf() (0) | 2023.09.13 |
| [JavaScript] 배열 특정 값으로 채우기 - fill() (0) | 2023.09.12 |
| [JavaScript] 배열 자르기 - slice() (0) | 2023.09.12 |