본문 바로가기

코딩/Javascript

자바스크립트 - 배열의 뒤부터 시작으로 특정 요소를 찾아 반환하기 (findLast() 함수)

반응형

findLast()함수는 find() 함수와 동일하게 특정 요소를 찾을 때 사용하는 함수다.

다만 차이점은 findLast() 함수는 배열의 뒤부터 시작으로 특정 요소를 찾는다.

특정 요소를 찾지 못하면 find() 함수와 동일하게 undefined를 반환한다.

 

주의점: findLast() 함수 실행 시, 함수 형태의 인수가 반드시 필요하다.

const arr = [1, 2, 3];

const res = arr.findLast(3);

console.log(res); // Uncaught TypeError: 3 is not a function"

배열에서 3을 찾겠다고 3을 인수로 넣으면 에러가 난다.

에러 메세지를 보면 "3은 함수가 아니다"라고 쓰여있다.

만약 3을 찾겠다면 아래 예제와 같은 코드로 써야 한다.

 

 

 

예제: 배열에서 요소의 값이 3인 요소 찾기.

const arr = [1, 2, 3];

const res = arr.findLast(ele => ele === 3);

console.log(res); // 3

findLast() 함수 호출 시, 인수를 함수로 넣었더니 에러 없이 성공적으로 실행된 모습.

 

 

 

예제: 배열에서 3보다 작은 요소 찾기.

const arr = [1, 2, 3];

const res = arr.findLast(ele => ele < 3);

console.log(res); // 2

findLast() 함수의 특성상, 배열의 끝의 요소를 시작으로 첫 요소까지 검색이 시작된다.

배열의 끝 요소인 33보다 작지 않고, 그다음 요소인 2가 조건에 부합하므로 2를 반환.

 

 

 

예제: 배열에서 찾으려는 요소가 없는 경우.

const arr = [1, 2, 3];

const res = arr.findLast(ele => ele === 10);

console.log(res); // undefined

만약 특정 요소를 찾지 못할 경우, undefined를 반환한다.

반응형