You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让JavaScript函数返回数组中能被3整除的数字之和?

修复JavaScript函数,实现所有能被3整除数字的求和

嘿,我来帮你搞定这个问题!你的当前函数有两个核心问题:一是找到第一个能被3整除的数就立刻return了,导致后续符合条件的数根本没被处理;二是完全没有设置累加变量来存储总和。咱们来一步步把它改对:

方法一:修正for循环版本

先初始化一个总和变量,遍历数组时把符合条件的数累加进去,最后再返回总和:

function sumNumbersBy3(...numberArray) { 
  let sum = 0; // 初始化累加和为0
  for(let i = 0; i < numberArray.length; i++) { 
    if (numberArray[i] % 3 === 0) {
      sum += numberArray[i]; // 把能被3整除的数加到总和里
    }
  }
  return sum; // 循环完成后返回最终总和
} 
console.log("sumNumbersBy3", sumNumbersBy3(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) === 18); // 现在会输出true啦

方法二:用数组reduce方法更简洁

如果你想让代码更简洁,可以用JavaScript数组的reduce方法,它专门用来处理累加这类场景:

function sumNumbersBy3(...numberArray) { 
  return numberArray.reduce((total, currentNum) => {
    // 判断当前数是否能被3整除,是就加到total里,否则保持total不变
    return currentNum % 3 === 0 ? total + currentNum : total;
  }, 0); // 0是累加的初始值
}

这样不管用哪种方法,函数都能正确计算所有能被3整除的数字之和啦。

内容的提问来源于stack exchange,提问作者sakmario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:00:29