소개
이 랩에서는 JavaScript 를 사용하여 배열에서 요소의 마지막 일치하는 인덱스를 찾는 개념을 탐구합니다. Array.prototype.map() 및 Array.prototype.filter() 메서드를 사용하여 제공된 함수가 falsy 값을 반환하는 요소를 필터링하고, Array.prototype.pop()을 사용하여 필터링된 배열의 마지막 요소를 가져오는 방법을 배웁니다. 이 랩을 마치면 JavaScript 를 사용하여 배열에서 요소의 마지막 일치하는 인덱스를 효율적으로 찾을 수 있게 됩니다.
JavaScript 를 사용하여 배열에서 마지막 일치하는 요소의 인덱스를 찾는 방법
JavaScript 배열에서 특정 조건과 일치하는 마지막 요소의 인덱스를 찾으려면 findLastIndex 함수를 사용하십시오. 사용 방법은 다음과 같습니다.
const findLastIndex = (arr, fn) =>
(arr
.map((val, i) => [i, val])
.filter(([i, val]) => fn(val, i, arr))
.pop() || [-1])[0];
findLastIndex 함수는 두 개의 인수를 받습니다: 검색할 배열과 각 요소를 테스트할 함수입니다. 작동 방식은 다음과 같습니다.
Array.prototype.map()을 사용하여[index, value]쌍의 새 배열을 생성합니다.Array.prototype.filter()를 사용하여fn함수에서 제공하는 조건과 일치하지 않는 배열의 요소를 제거합니다.Array.prototype.pop()을 사용하여 필터링된 배열의 마지막 요소를 가져옵니다.- 필터링된 배열이 비어 있으면
-1을 반환합니다.
findLastIndex를 사용하는 예는 다음과 같습니다.
findLastIndex([1, 2, 3, 4], (n) => n % 2 === 1); // 2 (value 3 의 인덱스)
findLastIndex([1, 2, 3, 4], (n) => n === 5); // -1 (찾을 수 없을 때의 기본값)
코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하십시오.
요약
축하합니다! 마지막 일치하는 인덱스 찾기 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.