Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chỉ cộng số lẻ hoặc số chẵn trong JavaScript

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")); // => 0

Mã 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