본문 바로가기

JavaScript

JavaScript Filter(필터)

최근에 자바스크립트를 하면서 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