본문 바로가기
programming/javascript

자바스크립트 lastIndexOf 메서드 사용 뒤에서 부터 배열의 요소 값 찾기

by 개코 - 개발과 코딩 2022. 1. 28.

자바스크립트 lastIndexOf 메서드는 배열의 끝에서부터 배열의 처음 위치로 특정 단어를 탐색한다. indexOf 메서드가 배열의 앞에서부터 탐색하는 것과는 차이가 있다. 시작위치를 지정해 준다면 지정한 위치부터 자바스크립트 배열의 첫번째 위치로 탐색한다.

자바스크립트 lastIndexOf 메서드 사용
뒤에서부터 배열의 요소 값 찾기

indexOf 메서드는 자바스크립트 배열을 앞에서부터 특정 단어를 찾는다.

그에 반해 lastIndexOf 메서드는 자바스크립트 배열을 뒤에서부터 특정 단어를 찾는다.

굳이 이런 메서드를 왜 만들었는지 목적이 있겠지만 제작자가 아니라서 모르겠다.

하지만, 배열의 길이가 길거나 문자열 같은 연속되는 데이터가 길다면 indexOf 와 lastIndexOf 를 사용하여 탐색을 용이하게 할 수 있다.

뒤에서부터 찾기 lastIndexOf

lastIndexOf 메서드는 뒤에서부터 탐색한다.

즉 배열의 끝에서 시작하여 배열의 처음 위치로 검색단어를 찾는다.

만약 시작위치를 지정한다면 지정한위치를 시작으로 배열의 처음 위치로 검색단어를 찾는다.

당연히 시작위치는 indexOf 메서드와 마찬가지로 옵션이기 때문에 생략해도 된다.

Array.lastIndexOf(검색어)
Array.lastIndexOf(검색어, [시작위치])

샘플코드

위의 내용을 가지고 자바스크립트 예제를 만들어 본다.

lastIndexOf 메서드가 배열의 마지막 위치를 시작하여 배열의 처음 위치로 탐색하는 것을 상기하자.

시작위치를 지정하면 시작위치로 지정된 인덱스부터 배열의 처음 위치로 탐색한다.

<!DOCTYPE html>
<html>
    <body>

        <script>

            console.log('----------');
            
            let vArray;
            let vPosition;

            vArray = ["현대자동차", "기아자동차", "쌍용자동차", "쉐보레"];
            
            console.log(vArray);

            console.log('----------');

            vPosition = vArray.lastIndexOf("쌍용자동차");
            console.log(vPosition);

            console.log('----------');

            vPosition = vArray.lastIndexOf("쌍용자동차", 3);
            console.log(vPosition);

            vPosition = vArray.lastIndexOf("쌍용자동차", 1);
            console.log(vPosition);

        </script>

    </body>
</html>

결과 화면을 보자.

문자열 배열에서 검색어로 쌍용자동차 를 탐색하고 있다.

뒤에서부터 탐색하기 때문에 배열의 인덱스가 2번째라는 것을 알 수 있다.

시작위치를 3번째와 1번째로 지정을 해 주고 탐색을 해 본다.

인덱스 3번째부터 배열 인덱스 0번째로 탐색한다.

단어가 있기 때문에 검색어의 인덱스 위치를 알 수 있다.

하지만, 인덱스 1번째부터 시작하여 배열의 첫번째로 탐색할 때는 검색어가 없기 때문에 -1 을 결과로 표시한다.

반응형

댓글