나의 IT Note

[JavaScript] lastIndexOf() 특정 문자 위치 찾기 - 자바스크립트 본문

JavaScript

[JavaScript] lastIndexOf() 특정 문자 위치 찾기 - 자바스크립트

MaCoder 2021. 7. 24. 16:05

String.lastIndexOf()

indexOf()와 동일하게 문자열에서 원하는 문자의 위치를 찾거나 배열에서 배열값의 위치를 확인하는 방법으로 lastIndexOf() 함수가 사용된다.

indexOf()와 차이점

fromIndex로부터 역순(오른쪽에서 왼쪽)으로 탐색을 시작하여 searchValue가 처음 탐색되는 index를 반환한다.

하지만 탐색만 역순으로 할 뿐 반환값은 indexOf()와 동일하게 앞쪽부터의 index이다.

 

indexOf() 특정 문자 위치 찾기 - 자바스크립트[JavaScript]

String.indexOf() 문자열에서 원하는 문자의 위치를 찾거나 배열에서는 배열값의 존재 여부를 확인하는 방법으로 indexOf() 함수가 사용된다. 문법(Syntax) str.indexOf(searchValue[, fromIndex]) searchValue가..

ak-coding.tistory.com

문법(Syntax)

str.lastIndexOf(searchValue[, fromIndex])
  • fromIndex로부터 역순으로 탐색하여 최초의 index를 반환하고 존재하지 않으면 -1을 반환한다.
  • 문자열을 탐색할 때 대소문자를 구분한다.
  • 배열에서도 사용 가능하다.

매개변수(parameter)

1. searchValue

  • 탐색할 문자열
  • 빈 값인 경우 fromIndex(+Infinity) 반환한다.
let str = 'hello world';
str.lastIndexOf('l'); // 9
str.lastIndexOf('L'); // -1
str.lastIndexOf('a'); // -1

문자열과 index를 매칭 하면 아래와 같다.

문자열: hello world
h e l l o 공백 w o r l d
0 1 2 3 4 5 6 7 8 9 10

searchValue가 없으므로 문자열 전체를 기준으로 탐색하여 우측에서 첫번째로 존재하는 'l'의 index는 9이므로 9를 반환한다.

대문자 'L'과 'a'는 문자열에 존재하지 않으므로 -1을 반환한다.

2. fromIndex(optional)

  • 기본값은 +Infinity이다.
  • fromIndex가 문자열보다 큰 경우 모든 문자열을 탐색한다.
  • fromIndex가 음수인 경우 0을 지정한 것과 동일하다.
let str = 'hello world';
str.lastIndexOf('l', 2); // 2
str.lastIndexOf('l', 3); // 3
str.lastIndexOf('l', 10); // 9

fromIndex가 2이므로 str의 index 2(hel)부터 역순으로 탐색한다.

탐색 결과에 문자열 'l'이 존재하고, 'l'의 index는 2이니 2를 반환한다.

 

마찬가지로 fromIndex가 3인경우 문자열 'hell'에서 'l'을 탐색하여 index 3을 반환한다.

배열의 경우 배열 index를 반환 

let arr = ['apple', 'banana', 'orange', 'banana'];
arr.lasrIndexOf('banana', 2); // 1
반응형
Comments