Chúng tôi được yêu cầu tạo một hàm cung cấp một mảng số và một chuỗi có thể nhận nhiều giá trị “lẻ” hoặc “chẵn”, thêm các số phù hợp với điều kiện đó. Nếu các giá trị phù hợp với điều kiện, 0 sẽ được trả về.
Ví dụ -
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
Vì vậy, hãy viết mã cho hàm này, chúng ta sẽ sử dụng phương thức Array.prototype.reduce () tại đây -
Ví dụ
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"));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
6 9 144 0