105 of 264 menu

filter 메서드

filter 메서드는 배열의 요소 중 특정 조건에 맞는 요소만 남기고 필터링할 수 있게 합니다. 이 메서드는 매개변수로 함수를 받으며, 이 함수는 배열의 각 요소에 대해 실행됩니다. 메서드는 결과로 새 배열을 반환하며, 이 새 배열에는 전달된 함수가 true를 반환한 요소만 포함됩니다.

함수에는 세 개의 매개변수를 전달할 수 있습니다. 이 매개변수들은 필수는 아니지만, 존재할 경우 첫 번째 매개변수에는 배열 요소가 자동으로, 두 번째 매개변수에는 배열에서의 위치(인덱스)가, 세 번째 매개변수에는 배열 자체가 전달됩니다.

구문

let 새 배열 = 배열.filter(function(요소, 인덱스, 배열) { 코드 return true 또는 false });

예제

배열에서 양수만 남기고 필터링해 봅시다:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(function(elem) { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

코드 실행 결과:

[5, 1, 1, 3, 4]

예제

화살표 함수를 사용하여 코드를 줄여봅시다:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

코드 실행 결과:

[5, 1, 1, 3, 4]

예제

논리 연산자 단축 평가를 사용하여 코드를 줄여봅시다:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { return elem >= 0; }); console.log(res);

코드 실행 결과:

[5, 1, 1, 3, 4]

예제

화살표 함수의 특징을 활용하여 코드를 더 줄여봅시다:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => elem > 0); console.log(res);

코드 실행 결과:

[5, 1, 1, 3, 4]

예제

필요한 경우 세 번째 매개변수에 배열 자체를 전달할 수 있습니다:

let res = arr.filter(function(elem, index, arr) { // 여기서 arr 배열에 접근할 수 있습니다. });

같이 보기

  • 배열의 각 요소에 함수를 적용할 수 있는 mapforEach 메서드
  • 배열 검사를 수행하는 someevery 메서드
  • 배열을 단일 값으로 줄이는 reducereduceRight 메서드
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부