본문 바로가기
프론트엔드

[javascript] find()와 findIndex()의 차이점

by enlitment 2023. 7. 4.
반응형

1. find()

find()는 주어진 판별함수 (testing function)을 만족하는 요소 중 첫 번째 값을 반환한다.

이때, 만약 반환할 값을 찾지 못한 경우에는 undefined를 반환하게 된다.

 

const arr =['먹고살기', '정말', '쉽지않다', '하하하']

const key = arr.find(value) => value.length<3);



console.log(key);

 

위 코드 예제에서 find()의 인자인 판별 함수 'value.lengh <3'는 화살표 함수로 작성되었다.

요소의 길이가 3 이하인 경우를 판별하여, 조건에 부합하는 요소 중 첫번째 값을 반환한다.

따라서 key의 출력값은 '정말'이 된다.

 

 

 

2. findIndex()

findIndex()는 주어진 판별함수를 만족하는 첫 번째 요소의 인덱스를 반환한다.

이때, 만약 만족하는 요소가없다면 -1을 반환한다.

 

const arr = [1, 2, 3, 4, 5]

const key = arr.findIndex((number) => number > 3);



console.log(key);

위 코드 예제에서 findIndex()의 인자인 판별 함수는 배열의 숫자들이 3보다 큰 지 비교한다.

그리고 결과가 참인 첫번째 요소의 인덱스 값을 반환한다.

즉, 3보다 큰 수 중 첫 번째인 4가 위치한 인덱스 값 3이 출력된다.

 

 

반응형