HTML · CSS · JavaScript · React · Git
JavaScript · 차이 비교형 · 2026년 6월 26일 공개 · 2026년 8월 10일 검토

filter와 find 차이 정리

조건에 맞는 데이터를 찾을 때 filter와 find 중 무엇을 써야 할지 모르는 상황

JavaScript filter와 find 차이 정리
  1. 문제 상황 확인
  2. 짧은 코드로 재현
  3. 브라우저에서 결과 점검
filter와 find 차이 정리를 실습할 때 확인할 흐름입니다.

filter와 find 차이에서 먼저 볼 부분

filter는 조건에 맞는 모든 항목을 배열로 돌려주고, find는 처음 만나는 하나의 항목만 돌려줍니다.

filter는 조건에 맞는 항목이 여러 개일 수 있다는 전제로 사용합니다. 결과는 항상 배열이므로 길이가 0일 수도 있습니다.

find는 하나만 필요할 때 사용합니다. 조건에 맞는 항목이 없으면 undefined가 나오므로 이후 코드에서 확인이 필요합니다.

검색 결과 목록을 만들 때는 filter가, id로 특정 게시글 하나를 찾을 때는 find가 어울립니다.

게시글 목록 검색

const posts = [
  { id: 1, category: "css" },
  { id: 2, category: "js" },
  { id: 3, category: "css" }
];

const cssPosts = posts.filter((post) => post.category === "css");
const firstCssPost = posts.find((post) => post.category === "css");

이 예제는 그대로 복사해서 확인하는 것보다 한 줄씩 바꿔보는 쪽이 더 도움이 됩니다. 태그 이름, 선택자, 변수 이름, 함수 실행 위치를 조금씩 바꾸면 어떤 부분이 결과에 영향을 주는지 직접 확인할 수 있습니다.

filter와 find 차이 정리 비교 기준

구분filterfind
결과배열항목 하나 또는 undefined
사용 목적여러 개 찾기첫 번째 하나 찾기
예시카테고리 글 목록id로 상세 글 찾기

잘못 작성했을 때 나타나는 흐름

JavaScript 글은 값이 언제 만들어지고 함수가 언제 실행되는지를 순서대로 따라가면 이해가 쉬워집니다.

console.log는 단순 확인용이 아니라 현재 값의 모양과 실행 흐름을 확인하는 가장 기본적인 디버깅 도구입니다.

DOM을 다루는 코드는 HTML 요소가 먼저 준비되었는지 확인해야 하며, 선택 결과가 null인지 보는 습관이 중요합니다.

브라우저에서 직접 확인하는 순서

먼저 화면에 나타나는 결과를 보고, 그다음 코드에서 방금 수정한 부분을 확인하세요. 결과가 예상과 다르다면 콘솔 오류, 파일 경로, 선택자 이름, 태그 닫힘, 실행 순서 중 하나가 흔한 원인입니다.

초보 단계에서는 정답 코드를 한 번에 외우기보다 실패한 코드와 수정한 코드를 나란히 비교하는 방식이 좋습니다. 이 글의 예제를 기준으로 작은 값을 바꿔보면 다음 글을 읽을 때도 기준이 더 선명해집니다.

실습 후 점검할 항목

  • 결과가 여러 개인지 하나인지 먼저 정하기
  • find 결과가 undefined일 수 있음을 처리하기
  • filter 결과가 빈 배열일 수 있음을 처리하기
  • 조건 함수가 true/false를 반환하는지 확인하기

작성 기준

AG FE Guide는 프론트엔드 입문자가 실제 학습 중 만나는 문제를 기준으로 예제와 확인 순서를 정리합니다. 본문은 공식 문서와 브라우저 동작 기준을 함께 참고해 주기적으로 검토합니다.