자바스크립트 filter, find 차이

2019. 9. 29. 21:14JavaScript

728x90

https://gnujoow.github.io/dev/2016/10/14/Dev6-es6-array-helper/

find 함수는 배열 원소에 대해서 주어진 함수연산을 하다가 함수가 true를 반환하면 find함수도 같이 종료됩니다. for 로 구현한 예제의 13행의 break;와 같이 동작한다고 이해하고 있습니다.

find함수로 조건에 만족하는 원소를 반환하지 못하는 경우 undefined 를 반환합니다.

 

filter 함수는 각각 배열의 원소에 대해서 전달받은 함수의 결과가 true를 반환한 원소들로만 배열을 만듭니다.

 

 

 

이게 뭔 말이냐면, find는 조건에 해당하는 원소 찾다가 true 하나 걸리면 바로 break하고 그 하나만 반환한다.

하기 코드상에서 find 조건에 해당하는 todos의 원소는 객체 2개인데, 콘솔창을 보면 객체 1개만 가져오는 것을 알 수 있다.

 

 

하지만 filter는 조건에 해당하는 원소를 몽땅 [ ]로 묶어서 가져온다.

 

728x90
반응형