filter()
는 배열 각 요소에 결과값이 true인 요소만을 모아서 새로운 배열을 반환하는 메서드이다. 요소들을 특정조건에 걸러지게 만드는 것이 목적이다.
현재요소로 쓰일 value를 제외하고 나머지는 필수입력 사항이 아니다.
const animals = ['rabbit','crocodile','squirrel','fox','elephant']
const animalsFilter = animals.filter(word => word.length > 6);
console.log(animalsFilter)
문자의 길이가 6 초과인 단어만 추출
하도록 animals에 filter 함수
를 추가하여 새로운 animalsFilter 함수를 만들었다. 해당 함수를 console.log 해보자.
['crocodile','squirrel','elephant']
문자의 길이가 6 초과인 단어만 추출되어 배열로 만들어 진 것을 볼 수 있다.
var arr = [4, 377, 1024];
var arrFilter = arr.filter(function (n) {
return n % 5 == 0;
});
console.log(arrFilter);
위와같이 만족하는 요소가 없는 filter 메서드를 실행한다면
[]
빈 배열이 반환된다. 보통 도메인을 해결하기 위해서 Array 메소드를 여러개 연결하여 사용하는데 이때 만약 빈 배열이 반환되지 않는다면 에러가 날 수도 있다.