Chúng ta cần tạo một hàm nhận vào một mảng số và một chuỗi có giá trị "odd" hoặc "even", cộng các số thỏa mãn điều kiện đó. Nếu không có giá trị nào khớp, trả về 0.
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")); // => 0Mã cho hàm này, sử dụng Array.prototype.reduce():
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"));Kết quả
Đầu ra trong console sẽ là:
6 9 144 0