Array.prototype.filter()

filter()는 주어진 함수의 조건을 통과하는 모든 요소를 모아 새로운 배열로 반환하는 메서드이다.

 

구문

arr.filter( callback ( element[, index[, array]])[, thisArg])

 

매개변수

  • callback : 각 요소를 필터링할 조건을 담고 있는 함수로 boolean을 반환한다. 반환 값이 true이면 값을 유지하고 false이면 요소를 삭제한다.
    • element : 처리할 현재 요소
    • index ( option ) : 처리한 현재 요소의 인덱스
    • array ( option ) : filter를 호출한 배열
    • thisArg ( option ) : callback을 실행할 때 this로 사용하는 값

반환 값

callback 함수로 걸러진 새로운 요소들로 이루어진 배열을 반환한다. 어떠한 요소도 조건을 통과하지 못했을 경우 빈 배열을 반환한다.

 

예제 코드

// 예제 코드
// 2의 배수만 남기기

let arr = [1,2,3,4,5];

arr = arr.filter( i => {
   return i % 2 === 0;
});

console.log(arr); // [2, 4]

 


map과 filter의 공통점

    : 기존배열은 수정하지 않고 요소들을 순환하면서 새로운 배열을 반환한다.

 

 map과 filter의 차이점

    : map은 콜백함수의 내용을 기존의 요소에 적용하여 새로운 요소를 생성/반환

    : filter는 콜백함수의 조건문을 만족하는 요소들을 반환

 

 

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

https://velog.io/@tjdud0123/javascript-map-filter-%ED%95%A8%EC%88%98

728x90

+ Recent posts