filter 매소드는 지정된 조건에 맞는 요소를 모아 새로운 배열로 반환하는것이다.
예로,
const words = [banana, lemon, orange];
const result = words.filter(word => word.length > 5;
console.log(result);
// expected output: Array ["banana"];
어렵다. 대충 걸러서 나오는거같은데, 다른 예로 다시 한번 생각해보자.
arr.filter(callback(element[, index[, array]])[, thisArg])
출처 : mozilla
각 요소를 시험할 함수가 true를 반환하면 요소를 유지하고, false를 반환하면 버린다고 한다. 다음 세 가지 매개변수를 받습니다.
element = 처리할 현재 요소.
index Optional = 처리할 현재 요소의 인덱스.
array Optional = filter를 호출한 배열.
thisArg Optional = callback을 실행할 때 this로 사용하는 값.
아직도 무슨말인지 모르겠다.
let data = [
{name: "coco", age : 23},
{name: "nana", age : 15},
{name: "kaka", age : 31},
{name: "popo", age : 19},
]
let result = data.filter( x => {
return x.age >= 20
});
console.log(result);
// (2) [{…}, {…}]
0: {name: "coco", age: 23}
1: {name: "kaka", age: 31}
length: 2
__proto__: Array(0)
조건에 맞게 새로운 배열을 내보낸다. 드디어 이해가됬다.