String.prototype.lastIndexOf()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

lastIndexOf() 메서드는 주어진 값과 일치하는 부분을 fromIndex로부터 역순으로 탐색하여, 최초로 마주치는 인덱스를 반환합니다. 일치하는 부분을 찾을 수 없으면 -1을 반환합니다.

시도해보기

구문

js
str.lastIndexOf(searchValue[, fromIndex])

매개변수

searchValue

탐색할 문자열. 빈 값을 제공할 경우 fromIndex를 반환합니다.

fromIndex Optional

탐색의 시작점으로 사용할 인덱스. 기본값은 +Infinity입니다. fromIndex >= str.length인 경우 모든 문자열을 탐색합니다. fromIndex < 0인 경우엔 0을 지정한 것과 동일합니다.

반환 값

문자열 내에서 searchValue가 마지막으로 등장하는 인덱스. 등장하지 않으면 -1.

설명

문자열의 문자는 왼쪽에서 오른쪽으로 인덱스를 매깁니다. 첫 번째 문자의 인덱스는 0이며, 마지막 문자의 인덱스는 str.length -1입니다.

js
"canal".lastIndexOf("a"); //  3 반환
"canal".lastIndexOf("a", 2); //  1 반환
"canal".lastIndexOf("a", 0); // -1 반환
"canal".lastIndexOf("x"); // -1 반환
"canal".lastIndexOf("c", -5); //  0 반환
"canal".lastIndexOf("c", 0); //  0 반환
"canal".lastIndexOf(""); //  5 반환
"canal".lastIndexOf("", 2); //  2 반환

참고: 'abab'.lastIndexOf('ab', 2)는 0이 아니고 2를 반환합니다. fromIndex는 탐색의 시작점만 제한하기 때문입니다.

대소문자 구분

lastIndexOf() 메서드는 대소문자를 구분합니다. 예를 들어, 아래 예제는 -1을 반환합니다.

js
"Blue Whale, Killer Whale".lastIndexOf("blue"); // -1 반환

예제

indexOf()lastIndexOf() 사용하기

아래 예제는 문자열 "Brave new world" 내에서 특정 값의 위치를 확인하기 위해 indexOf()lastIndexOf()를 사용합니다.

js
let anyString = "Brave new world";

console.log("시작점으로부터 처음 만나는 w의 위치는 " + anyString.indexOf("w"));
// logs 8
console.log(
  "끝점으로부터 처음 만나는 w의 위치는 " + anyString.lastIndexOf("w"),
);
// logs 10
console.log(
  '시작점으로부터 처음 만나는 "new"의 위치는 ' + anyString.indexOf("new"),
);
// logs 6
console.log(
  '끝점으로부터 처음 만나는 "new"의 위치는 ' + anyString.lastIndexOf("new"),
);
// logs 6

명세

Specification
ECMAScript Language Specification
# sec-string.prototype.lastindexof

브라우저 호환성

BCD tables only load in the browser

같이 보기