정의 및 사용 방법
문자열 lastIndexOf() 함수는
문자열에서 인수로 전달된 특정 문자열이 마지막으로 나타나는 인덱스를 반환합니다.
인수로 전달된 문자열를 찾을 수 없다면 -1을 반환합니다.
이 함수는 대소문자를 구분합니다.
lastIndexOf() 함수는 문자열에서 특정 문자열이 마지막에 등장한 위치를 찾는데 유용합니다.
기본 예제
/*
* 주의하세요!
* 문자열에서 인덱스는 0부터 시작합니다.
* 첫 번째 문자열의 인덱스는 0이고, 두 번째 문자열의 인덱스는 1입니다.
*/
const filePath = "image.jpg";
console.log(filePath.lastIndexOf(".jpg")); // 5
// 인수로 전달된 문자열를 찾을 수 없을 때
console.log(filePath.lastIndexOf(".png")); // -1
/////////////////////////////////
const text = "우리 강산 우리 바다";
// 마지막으로 나타나는 인덱스를 반환
let result = text.lastIndexOf("우리");
console.log(result); // 6
문자열에서 특정 문자열이 처음에 등장한 위치를 찾으려면 indexOf() 함수를 사용하세요.
lastIndexOf() 함수의 형식은 다음과 같습니다.
구문
str.lastIndexOf(searchValue[, position])
str은 lastIndexOf() 함수를 적용할 대상 문자열입니다.
매개변수
searchValue |
필수. 찾을 문자열입니다.
대소문자를 구분합니다. 아무 값도 주어지지 않으면 문자열 "undefined"를 찾으려는 문자열로 사용합니다.
빈 문자열( "")은 모든 문자열의 부분 문자열이기 때문에 문자열의 길이와 같으며, 빈 문자열이 문자열의 끝에 있는 위치를 나타냅니다. |
|---|---|
position |
옵션. 검색을 시작할 0 기반의 인덱스입니다.
|
반환 값
lastIndexOf() 함수를 적용할 대상 문자열에서 인수로 전달된 문자열를 찾아 마지막으로 검색된(등장한) 문자열의 인덱스를 반환합니다.
인수로 전달된 문자열를 찾을 수 없다면 -1을 반환합니다.
매개변수와 반환 값 예시
lastIndexOf() 함수의 매개변수와 반환 값을 쉽게 이해할 수 있도록 몇 가지 예제를 준비했습니다.
기본적인 사용 예제
let text = "hello world";
let result = text.lastIndexOf("o");
console.log(result); // 7
문자열 "hello world"에서 "o"가 마지막으로 나타나는 위치를 찾습니다. "o"는 인덱스 4와 7에서 나타나는데, 마지막 "o"는 인덱스 7에 있습니다. 그래서 7이 반환됩니다.
position 매개변수를 사용한 예제
let text = "hello world";
let result = text.lastIndexOf("o", 5);
console.log(result); // 4
이 예제에서는 position 매개변수를 5로 설정했습니다. 즉, 인덱스 5까지의 부분 문자열 "hello"에서 "o"를 검색합니다. 이 범위 내에서 "o"는 인덱스 4에서 마지막으로 나타나므로 4가 반환됩니다.
찾으려는 문자열이 없을 때
let text = "hello world";
let result = text.lastIndexOf("z");
console.log(result); // -1
문자열 "hello world"에는 "z"가 없으므로, lastIndexOf() 함수는 -1을 반환합니다. 이는 찾으려는 문자열이 없다는 것을 의미합니다.
전체 문자열에서 검색하기
let text = "banana";
let result = text.lastIndexOf("a");
console.log(result); // 5
문자열 "banana"에서 "a"는 인덱스 1, 3, 5에서 나타납니다. 마지막 "a"는 인덱스 5에 있으므로, 5가 반환됩니다.
빈 문자열("")을 찾을 때
let text = "apple";
let result = text.lastIndexOf("");
console.log(result); // 5
빈 문자열("")을 찾으면 항상 문자열의 길이 값이 반환됩니다. "apple"의 길이는 5이므로 5가 반환됩니다.
position이 음수일 때
let text = "apple";
let result = text.lastIndexOf("p", -1);
console.log(result); // -1
position이 -1이므로, 0까지의 범위에서 "p"를 검색합니다. 이 범위에는 "p"가 없으므로 -1이 반환됩니다.
주의할 점
lastIndexOf() 함수로 문자열을 검색할 때에는 대소문자를 구분합니다.
const redString = "red";
const searchRed = redString.lastIndexOf("R");
// 대문자 "R"과 소문자 "r"을 구분합니다.
console.log(searchRed); // 출력: -1;
명세서
| 명세서 사양 | |
|---|---|
String.prototype.lastIndexOf()
|
ECMAScript Language Specification #sec-string.prototype.lastindexof |
호환성
| 메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
Node.js
|
|---|---|---|---|---|---|
lastIndexOf()
|
1 | 12 | 1 | 1 | 0.10 |