숫자 배열과 "홀수" 또는 "짝수" 값 중 하나를 취할 수 있는 문자열이 주어지면 해당 조건과 일치하는 숫자를 더하는 함수를 만들어야 합니다. 조건과 일치하는 값이 없으면 0을 반환해야 합니다.
예를 들어 -
console.log(conditionalSum([1, 2, 3, 4, 5], "even")); => 6 console.log(conditionalSum([1, 2, 3, 4, 5], "odd")); => 9 console.log(conditionalSum([13, 88, 12, 44, 99], "even")); => 144 console.log(conditionalSum([], "odd")); => 0
따라서 이 함수에 대한 코드를 작성해 보겠습니다. 여기에서 Array.prototype.reduce() 메서드를 사용할 것입니다 -
예시
const conditionalSum = (arr, condition) => { const add = (num1, num2) => { if(condition === 'even' && num2 % 2 === 0){ return num1 + num2; } if(condition === 'odd' && num2 % 2 === 1){ return num1 + num2; }; return num1; } return arr.reduce((acc, val) => add(acc, val), 0); } console.log(conditionalSum([1, 2, 3, 4, 5], "even")); console.log(conditionalSum([1, 2, 3, 4, 5], "odd")); console.log(conditionalSum([13, 88, 12, 44, 99], "even")); console.log(conditionalSum([], "odd"));
출력
콘솔의 출력은 -
6 9 144 0