filter 란?
filter() 메소드는 원래의 array 에서 특정조건이 통과하는 모든 값들을 새로운 배열로 만들어낸다.
let newArr = oldArr.filter(callback);
newArr : return 되는 새로운 array
oldArr : filter function이 실행되는 array
callback : oldArr의 element들에 실행되는 function, true면 element를 모으고, false일 경우 버린다.
- element : array의 현재 element
- index : 처리되는 값의 현재 index
- arr : 원래의 array
Filter vs For Loop
let arr = [1, 2, 3, 4, 5, 6];
let even = [];
for(var i = 0; i < arr.length; i++) {
if(arr[i] % 2 === 0) even.push(arr[i]);
}
// even = [2,4,6];
arr의 모든 값들 중 짝수 값만 통과해서 even array로 push 된다.
짝수의 모든 값들을 포함한 array even = [2, 4, 6]이 생성된다.
filter()를 사용해서 동일한 함수를 만들 수 있다.
arr가 우리가 map할 array이다. 짝수일경우 true로 return해서 값이 저장되고, 홀수인 false로 return 된다.
let arr = [1, 2, 3, 4, 5, 6];
let even = arr.filter(val => {
return val % 2 === 0;
});
// even = [2, 4, 6]
filter() function에서는 저장하고 싶은 값에 대해 true로 return하면 된다. 나머지는 filter()가 처리한다.
value(val)이 짝수인지를 테스트 한다.
Filter & ES6
let cities = data.filter(val => {
return val.population > 50000;
});
어떤 값이 리턴되는지에 대한 괄호 또한 생략가능하다
let cities = data.filter(val => val.population > 50000);
'코드스테이츠(Pre)' 카테고리의 다른 글
Recursion 이해하기(Javascript) 번역 및 요약 (0) | 2019.04.29 |
---|---|
JavaScript Reduce 자세히 알아보기 (0) | 2019.04.12 |
array 반복을 효과적으로 하기 위한 9가지 방법 (0) | 2019.04.11 |
reduce function 이해하기 (0) | 2019.04.07 |
점표기법(Dot notation) vs 괄호표기법(Bracket Notation) (0) | 2019.03.30 |