String.prototype.lastIndexOf()

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

구문

str.lastIndexOf(searchValue[, fromIndex])

매개변수

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

반환 값

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

설명

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

'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을 반환합니다.

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

예제

indexOf()와 lastIndexOf() 사용하기

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

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 (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
lastIndexOfChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 6Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

같이 보기