仅添加奇数或偶数 JavaScript

javascriptweb developmentobject oriented programming更新于 2025/10/1 22:04:17

我们需要创建一个函数,给定一个数字数组和一个可以取"奇数"或"偶数"两个值中的任意一个的字符串,添加符合该条件的数字。如果没有值符合条件,则应返回 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

相关文章


有用资源