728x90
728x90
목 차
1. lastIndexOf() 메서드 정의
- JavaScript의 lastIndexOf() 메서드는 배열이나 문자열에서 특정 요소나 문자열이 마지막으로 나타나는 인덱스를 반환하는 메서드입니다.
- 찾고자 하는 요소나 문자열이 없으면 -1을 반환합니다.
- lastIndexOf()는 뒤에서부터 시작하여 탐색하기 때문에, 뒤쪽에 가까운 값을 찾는 데 유용합니다.
2. lastIndexOf() 메서드 문법
2-1. 배열에서의 문법
- searchElement: 찾고자 하는 요소입니다.
- fromIndex (선택적): 탐색을 시작할 인덱스입니다. 기본값은 array.length - 1로 설정되어 끝에서부터 탐색이 시작됩니다. 음수를 사용하면 배열의 끝에서부터 상대적인 위치로 계산됩니다.
array.lastIndexOf(searchElement, fromIndex)
2-2. 문자열에서의 문법
- searchString: 찾고자 하는 문자열입니다.
- fromIndex (선택적): 탐색을 시작할 인덱스입니다. 기본값은 문자열의 끝이며, 음수는 0으로 간주됩니다.
string.lastIndexOf(searchString, fromIndex)
3. 주요 특징
- 뒤에서부터 탐색: lastIndexOf()는 배열 또는 문자열의 끝에서부터 시작하여 일치하는 첫 번째 요소나 문자열의 인덱스를 반환합니다.
- 대소문자 구분: 문자열에서 사용할 경우 대소문자를 구분하여 탐색합니다.
- 존재하지 않을 때 -1 반환: 배열이나 문자열에 searchElement나 searchString이 없을 경우 -1을 반환합니다.
- 배열의 NaN 탐색: indexOf()와 마찬가지로 NaN을 찾지 못합니다. NaN은 자기 자신과도 같지 않기 때문입니다.
4. 사용 예제
4-1. 배열에서의 lastIndexOf() 사용 예제
- 이 메서드는 진행 방향이 거꾸로인 점을 기억해야 합니다.
let fruits = ["apple", "banana", "cherry", "apple", "banana"];
console.log(fruits.lastIndexOf("banana")); // 4 (마지막 "banana"의 인덱스)
console.log(fruits.lastIndexOf("apple")); // 3 (마지막 "apple"의 인덱스)
console.log(fruits.lastIndexOf("grape")); // -1 ("grape"는 배열에 없음)
// 시작 인덱스 지정
console.log(fruits.lastIndexOf("banana", 3)); // 1 (3번 인덱스부터 거꾸로 탐색하여 발견한 "banana")
console.log(fruits.lastIndexOf("apple", 2)); // 0 (2번 인덱스부터 거꾸로 탐색하여 발견한 "apple")
// 음수 인덱스 지정
console.log(fruits.lastIndexOf("banana", -2)); // 1 (끝에서 두 번째 위치부터 탐색하여 찾은 "banana")
console.log(fruits.lastIndexOf("apple", -3)); // 0 (끝에서 세 번째 위치부터 탐색하여 찾은 "apple")
4-2. 문자열에서의 lastIndexOf() 사용 예제
let text = "Hello, world! Hello, everyone!";
console.log(text.lastIndexOf("Hello")); // 14 (마지막 "Hello"의 인덱스)
console.log(text.lastIndexOf("o")); // 20 (마지막 "o"의 인덱스)
console.log(text.lastIndexOf("World")); // -1 ("World"는 대소문자 구분으로 찾지 못함)
// 시작 인덱스 지정
console.log(text.lastIndexOf("Hello", 10)); // 0 (10번 인덱스부터 거꾸로 탐색하여 찾은 "Hello")
console.log(text.lastIndexOf("o", 18)); // 8 (18번 인덱스부터 거꾸로 탐색하여 찾은 "o")
4-3. 특정 값 모든 인덱스 위치 찾아내는 예제
let phrase = "The quick brown fox jumps over the lazy dog";
let searchTerm = "o";
let index = phrase.lastIndexOf(searchTerm);
while (index !== -1) {
console.log(`Found "${searchTerm}" at index ${index}`);
index = phrase.lastIndexOf(searchTerm, index - 1); // 다음 위치에서 탐색 계속
}
// Found "o" at index 43
// Found "o" at index 26
// Found "o" at index 17
// Found "o" at index 12
728x90
'프로그래밍 > [javascript] 자바스크립트' 카테고리의 다른 글
[JavaScript] slice() 메서드 설명 및 예제 (0) | 2024.11.11 |
---|---|
[JavaScript] substring() 메서드 설명 및 예제 (0) | 2024.11.10 |
[JavaScript] indexOf() 메서드 설명 및 예제 (0) | 2024.11.08 |
[javascript] 자바스트립트 형변환 함수 정리 (0) | 2024.11.07 |
[javascript] 숫자 판별 함수 isNaN() 함수 (0) | 2024.11.07 |