자바스크립트 Array.prototype.filter() 완벽 정리
안녕하세요, Array.prototype.filter()는 배열을 다룰 때 초보자부터 숙련자까지 모두 애용하는 강력한 도구인데요, 처음 보면 조금 헷갈릴 수 있지만 이 포스팅을 끝까지 읽으면 쉽게 이해하고 활용할 수 있을 거예요. 오늘은 filter() 함수가 무엇인지, 어떻게 사용하는지, 그리고 실습 예제와 결과를 통해 자세히 알아볼게요.
Array.prototype.filter()란?
Array.prototype.filter()는 JavaScript에서 배열의 요소 중 특정 조건을 만족하는 것들만 골라내어 새로운 배열로 반환해주는 메서드예요. 쉽게 말해, "배열에서 내가 원하는 것만 쏙쏙 뽑아서 새 배열로 만들어줘!"라고 명령하는 함수죠. 원본 배열은 그대로 두고, 필터링된 결과만 새로 만들어진다는 점에서 안전하고 편리해요. 웹 프론트엔드 개발에서는 검색 기능이나 데이터 정제할 때 자주 사용된답니다.
예를 들어, "숫자 배열에서 짝수만 뽑고 싶다"거나 "이름 목록에서 특정 글자가 포함된 것만 보고 싶다" 할 때 filter()가 딱 맞아요!
함수의 기본 구조와 파라미터
filter() 함수는 다음과 같은 형태로 사용됩니다:

조금 어려워 보이죠? 하나씩 천천히 풀어볼게요.
- callback: 각 배열 요소에 적용할 함수로, 조건을 판단해요.
- element: 현재 처리 중인 배열의 요소 (필수).
- index: 현재 요소의 인덱스 번호 (선택 사항).
- array: 원본 배열 전체 (선택 사항, 드물게 사용).
- thisArg: callback 함수에서 this로 사용할 값 (선택 사항, 거의 안 씀).
초보자라면 element만 사용해도 충분하고, 나중에 필요하면 index를 추가로 활용할 수 있어요. 중요한 건 callback 함수가 true를 반환하면 그 요소가 새 배열에 포함되고, false면 제외된다는 점이에요.
예제
이제 실제로 filter()가 어떻게 작동하는지 예제를 통해 배워볼게요. 간단한 예제부터 시작해서 점점 실용적인 사례로 넘어가 보겠습니다!
예제 1: 짝수만 골라내기
- 설명: numbers 배열에서 각 요소(num)를 확인해서 2로 나눴을 때 나머지가 0인 경우(짝수)만 새 배열 evens에 포함했어요. 원본 배열은 그대로 남아 있죠.

- 설명: 이름의 길이(length)가 1보다 큰 경우만 골라냈어요. "진"은 한 글자라 제외되고, 나머지 이름들이 새 배열에 들어갔습니다.

- 설명: index를 사용해서 홀수 번째 위치(1, 3)에 있는 요소만 뽑았어요. index는 0부터 시작하니까 "사과(0)"와 "오렌지(2)"는 제외된 거예요.
HTML과 결합
만약 웹 페이지에서 필터링된 결과를 표시하고 싶다면, HTML과 결합할 수도 있어요. 예를 들어:

HTML 결과:
주의할 점
- 조건은 true/false로 판단: filter()는 callback 함수가 true를 반환할 때만 요소를 포함해요. 조건을 잘 설정해야 원하는 결과가 나옵니다.
const wrong = [1, 2, 3].filter(num => num * 2); // 잘못된 예: [1, 2, 3]const right = [1, 2, 3].filter(num => num > 2); // 올바른 예: [3]
- 원본 배열은 바뀌지 않아요: filter()는 새 배열을 반환할 뿐, 원래 배열은 그대로예요. 수정하려면 결과를 변수에 저장해서 사용하세요.
- 빈 배열도 가능: 조건에 맞는 요소가 없으면 빈 배열([])이 반환돼요. 에러가 나는 게 아니니 안심하세요!
마무리
이제 Array.prototype.filter()에 대해 확실히 감이 잡히셨죠? 배열에서 원하는 데이터만 뽑아낼 때 이만큼 유용한 함수도 없어요. 검색 기능, 데이터 필터링 등 실무에서도 자주 쓰이니까 이번 기회에 꼭 익혀두세요. 연습 삼아 여러 조건을 만들어서 테스트해보는 것도 추천드립니다! 더 궁금한 점이나 추가 예제가 필요하시면 댓글로 남겨주세요. 다음 포스팅에서도 초보자를 위한 유익한 JavaScript 팁을 가져올게요. 즐거운 코딩 되세요!
[Javascript] Array.prototype.map 사용법 map() 함수 완벽 정리 | 자바스크립트
https://tkpark86.tistory.com/24
[Javascript] Array.prototype.map 사용법 map() 함수 완벽 정리 | 자바스크립트
초보자를 위한 Array.prototype.map() 완벽 정리안녕하세요, JavaScript를 처음 배우는 초보 개발자 여러분! "Array.prototype.map()"이라는 함수를 검색해서 이 글에 오셨다면, 딱 맞는 곳에 오셨어요. JavaScript
tkpark86.tistory.com
[Javascript] 문자열 자르기 substr(), substring(), slice() 비교 자바스크립트 함수
https://tkpark86.tistory.com/23
[Javascript] 문자열 자르기 substr(), substring(), slice() 비교 자바스크립트 함수
JavaScript 문자열 자르기JavaScript에서 문자열을 자르는 방법은 여러 가지가 있지만, 그중 가장 많이 사용되는 세 가지 함수인 substr(), substring(), slice()를 비교하며 자세히 알아보겠습니다. 이 글을
tkpark86.tistory.com
#JavaScript #filter() #함수 #완벽정리 #사용예제 #자바스크립트 #예제 #HTML #배열 #Arrary
'Post' 카테고리의 다른 글
[Javascript] Array.prototype.map 사용법 map() 함수 완벽 정리 | 자바스크립트 (0) | 2025.04.04 |
---|---|
[Javascript] 문자열 자르기 substr(), substring(), slice() 비교 자바스크립트 함수 (0) | 2025.04.02 |
[MySQL] 날짜 형식/포맷 변환 함수 (DATE_FORMAT 함수) (0) | 2025.04.01 |
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리) (0) | 2025.03.31 |
[리눅스 명령어] grep 사용법 완벽 정리 Linux (파일에서 특정 단어 검색하기) (0) | 2025.03.28 |