이번 글에서는 두 개의 인수를 받는 JavaScript 함수를 작성해 보겠습니다. 첫 번째 인수는 숫자로 이루어진 배열, 두 번째 인수는 하나의 기준 숫자입니다. 함수는 입력 배열의 요소 중에서 두 번째 인수로 전달된 숫자보다 크거나 같은 값들만 모아 새로운 배열로 반환해야 합니다.
구현 예제
아래는 실제 동작하는 코드입니다.
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 ]
코드 설명
함수 findGreater는 배열을 처음부터 끝까지 순회하면서 각 요소가 기준값 num보다 작으면 continue문> 문으로 건너뛰고, 그렇지 않으면 결과 배열 res에 추가합니다. 반복이 끝나면 조건을 만족하는 요소들만 담긴 배열을 반환합니다.
참고로 같은 로직은 filter() 메서드를 사용하면 한 줄로 더 간결하게 표현할 수 있습니다.
const result = arr.filter(num => num >= threshold); console.log(result); // [ 56, 76, 45, 56 ]
filter()는 콜백 함수가 true를 반환하는 요소만 모아 새 배열을 만들어 주기 때문에, 가독성과 유지보수 측면에서 더 권장되는 방식입니다.