최근에 자바스크립트를 하면서 filter의 사용법에 대해 적어보려 합니다.
제가 사용하는 방식은 화살표 함수(Arrow function) 이 아닌 기본 방법을 사용했습니다.
const arr = [1,2,3,4,5];
let result = arr.filter(function (data) { // result = [4,5]
if(data > 3){ // 조건
return true; //조건을 만족하면 true
}
})
해석하면 배열의 길이만큼 루프를 돌고 조건에 맞으면 저장한다고 생각하면 됩니다.
1,2,3,4,5 중에 3보다 큰 수를 조건으로 걸었으니 4,5만 result라는 변수에 저장됩니다.
const arr = [1,2,3,4,5];
let result = []; // 배열선언
for(let i = 0; i < arr.length; i++){
if(arr[i] > 3){ // 조건
result.push(arr[i]); // [4,5]
}
}
기존 자주 사용하는 for문으로 사용한 코드입니다.
둘 중 어느 것을 사용하던 상관은 없습니다.
const arr = [
{day : 1},
{day : 2},
{dat : 3},
{day : 4},
{dat : 5}
];
let result = arr.filter(function (data) { // result = [dat : 3,5]
if(data.dat){ // 조건
return true; //조건을 만족하면 true
}
})
배열 안 객체들 중 dat라는 키값만 저장하고 싶을 때 사용하는 코드입니다.
filter는 원하는 요소들만 필터링할 수 있는 메서드라고 생각하면 됩니다.
'JavaScript' 카테고리의 다른 글
JavaScript sort(정렬) (0) | 2021.12.16 |
---|