Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

이 페이지는 영어로부터 커뮤니티에 의하여 번역되었습니다. MDN Web Docs에서 한국 커뮤니티에 가입하여 자세히 알아보세요.

Array.prototype.lastIndexOf()

BaselineWidely available

Array 인스턴스의lastIndexOf() 메서드는 배열에서 특정 요소를 찾을 수 있는 마지막 인덱스를 반환하거나, 해당 요소가 없으면-1을 반환합니다. 배열은fromIndex에서 시작하여 역방향으로 검색됩니다.

시도해 보기

const animals = ["Dodo", "Tiger", "Penguin", "Dodo"];console.log(animals.lastIndexOf("Dodo"));// Expected output: 3console.log(animals.lastIndexOf("Tiger"));// Expected output: 1

구문

js
lastIndexOf(searchElement)lastIndexOf(searchElement, fromIndex)

매개변수

searchElement

배열에서 찾을 요소.

fromIndexOptional

역방향 검색을 시작하는 0부터 시작하는 인덱스로,정수로 변환됩니다.

  • 음수 인덱스는 배열 끝에서부터 다시 계산됩니다. 만약fromIndex < 0 이라면,fromIndex + array.length가 사용됩니다.
  • fromIndex < -array.length인 경우, 배열을 검색하지 않고-1을 반환합니다. 개념적으로 배열이 시작되기 전 존재하지 않는 위치에서 시작해 그곳에서부터 거꾸로 가는 것이라고 생각하면 됩니다. 도중에 배열 요소가 없으므로searchElement를 찾을 수 없습니다.
  • fromIndex >= array.length 또는fromIndex를 생략하면,array.length - 1이 사용되어 전체 배열을 검색하게 됩니다. 개념적으로 배열 끝 너머 존재하지 않는 위치에서 시작하고 그곳에서부터 거꾸로 가는 것이라고 생각하면 됩니다. 결국 배열의 실제 끝 위치에 도달하고, 이 지점에서 실제 배열 요소를 통해 역순 검색을 시작합니다.

반환 값

배열에 있는searchElement의 마지막 인덱스입니다. 찾을 수 없으면-1입니다.

설명

lastIndexOf() 메서드는엄격한 동등성(=== 연산자에서 사용하는 것과 동일한 알고리즘)을 사용하여searchElement를 배열 요소와 비교합니다. 두 개의NaN 값은 동일한 것으로 비교되지 않으므로searchElementNaN인 경우,lastIndexOf()는 항상-1을 반환합니다.

예제

lastIndexOf() 사용하기

다음 예제에서는lastIndexOf()를 사용하여 배열에서 값을 찾습니다.

js
const numbers = [2, 5, 9, 2];numbers.lastIndexOf(2); // 3numbers.lastIndexOf(7); // -1numbers.lastIndexOf(2, 3); // 3numbers.lastIndexOf(2, 2); // 0numbers.lastIndexOf(2, -2); // 0numbers.lastIndexOf(2, -1); // 3

NaN을 찾기위해lastIndexOf()을 사용할 수 없습니다.

js
const array = [NaN];array.lastIndexOf(NaN); // -1

요소의 모든 위치 찾기

다음 예제에서는lastIndexOf를 사용하여 주어진 배열에 있는 요소의 모든 인덱스를 찾고, 발견된 요소를 다른 배열에 추가하기 위해push()를 사용합니다.

js
const indices = [];const array = ["a", "b", "a", "c", "a", "d"];const element = "a";let idx = array.lastIndexOf(element);while (idx !== -1) {  indices.push(idx);  idx = idx > 0 ? array.lastIndexOf(element, idx - 1) : -1;}console.log(indices);// [4, 2, 0]

여기서는idx === 0인 경우를 별도로 처리해야 합니다. 요소가 배열의 첫 번째 요소인 경우fromIndex 매개변수에 관계없이 항상 검색되기 때문입니다. 이는indexOf() 메서드와 다릅니다.

희소 배열에 lastIndexOf() 사용하기

배열의 빈 슬롯을 검색하기 위해lastIndexOf()를 사용할 수 없습니다.

js
console.log([1, , 3].lastIndexOf(undefined)); // -1

배열이 아닌 객체에 lastIndexOf() 사용하기

lastIndexOf() 메서드는thislength 속성을 읽은 다음 키가length보다 작은 음이 아닌 정수인 각 속성에 접근합니다.

js
const arrayLike = {  length: 3,  0: 2,  1: 3,  2: 2,  3: 5, // length가 3 이므로 lastIndexOf()에서 무시됩니다.};console.log(Array.prototype.lastIndexOf.call(arrayLike, 2));// 2console.log(Array.prototype.lastIndexOf.call(arrayLike, 5));// -1

명세서

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.lastindexof

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp