Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 배열에서 특정 값 이상인 요소만 추출하는 방법

JavaScript 프로그래밍에서 배열에 담긴 여러 숫자 중에서 기준값 이상인 요소만 골라내야 하는 경우가 자주 있습니다. 예를 들어, 시험 점수 목록에서 합격선 이상의 점수만 추출하거나, 상품 가격 목록에서 일정 금액 이상인 상품만 필터링하는 상황이 그렇습니다.

이번 글에서는 숫자 배열을 첫 번째 인수로, 기준이 되는 숫자 하나를 두 번째 인수로 받아, 배열 내에서 두 번째 인수보다 크거나 같은 모든 요소를 새로운 배열로 반환하는 함수를 작성해 보겠습니다.

반복문을 활용한 구현 방법

가장 기본적인 접근 방식은 for 반복문을 사용하는 것입니다. 배열의 각 요소를 하나씩 확인하면서 기준값 미만인 요소는 건너뛰고(continue), 조건을 만족하는 요소만 결과 배열에 추가합니다.

예제 코드

const arr = [56, 34, 2, 7, 76, 4, 45, 3, 3, 34, 23, 2, 56, 5];
const threshold = 40;

const findGreater = (arr, num) => {
    const res = [];
    for(let i = 0; i < arr.length; i++){
        if(arr[i] < num){
            continue;
        };
        res.push(arr[i]);
    };
    return res;
};

console.log(findGreater(arr, threshold));

실행 결과

콘솔에 출력되는 결과는 다음과 같습니다.

[ 56, 76, 45, 56 ]

filter() 메서드를 활용한 더 간결한 방법

JavaScript에는 위와 같은 작업을 훨씬 간결하게 처리할 수 있는 내장 메서드인 filter()가 있습니다. 조건을 만족하는 요소들만 모아 새로운 배열을 만들어 주는 메서드로, 코드가 한 줄로 줄어들어 가독성이 크게 향상됩니다.

const arr = [56, 34, 2, 7, 76, 4, 45, 3, 3, 34, 23, 2, 56, 5];
const threshold = 40;

const findGreater = (arr, num) => arr.filter(el => el >= num);

console.log(findGreater(arr, threshold)); // [ 56, 76, 45, 56 ]

정리

배열에서 특정 조건을 만족하는 요소를 추출할 때는 반복문으로 직접 구현할 수도 있지만, 실무에서는 filter() 메서드를 사용하는 것이 코드가 짧고 의도가 명확하게 드러나므로 권장됩니다. 다만 반복문 방식은 로직의 동작 원리를 이해하는 데 도움이 되므로, 학습 단계에서는 두 가지 방법을 모두 익혀두는 것이 좋습니다.