首页 > 解决方案 > 如何使用 Array.reduce 方法获得奇数、偶数的总和?

问题描述

如何获得奇数的总和,即使使用 reduce 方法,我已经完成了如下代码所示但返回未定义,@js-beginner

//下面的代码

nums= [1,2,3,4,5,6,7,8,9]

function getOddEvenSum(numbers){     
    let{even,odd} = numbers.reduce((acc, cuu) => cuu%2 === 0?acc.even + cuu:acc.odd+cuu,{even:0, odd:0})

    return {even, odd}
  }

console.log(getOddEvenSum(nums)

//输出我在下面

{even:undefined, odd:undefined}

标签: javascriptarraysreduce

解决方案


你可以Array.prototype.reduce这样使用:

const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9];

const [odds, evens] = nums.reduce(
  ([odds, evens], cur) =>
    cur % 2 === 0 ? [odds, evens + cur] : [odds + cur, evens],
  [0, 0]
);

console.log(odds);
console.log(evens);


推荐阅读