javascript - 如何使用 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}
解决方案
你可以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);
推荐阅读
- reactjs - react-stripe-checkout 和 react-stripe-js 有什么区别?
- javascript - 输入没有值存储在 var 中
- xml - 如何从 bash 中的 cov.xml 文件中解析代码覆盖率值?
- python - 在scrapy spider中导入我的课程有问题
- c# - 无法隐式转换类型对象
- audiokit - AudioKit 5 - 播放器在断开连接状态下启动
- parsing - strconv.ParseFloat 在不应该时将值变为 0
- sql - SQL 匹配和更新 [名称到 ID]
- flutter - 如何在颤动中使用 onPressed 更改属性
- python - 按元素添加 2 个未对齐的列表?