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

使用Reduce方法计算数字各位之和时触发空数组Reduce报错问题

错误根因

  • 你使用的new Array(n)语法不符合需求:该语法会创建长度等于参数n的空位数组,例如入参为123时会生成包含123个空位的空数组,并非将数字的每一位拆分作为数组元素
  • 调用reduce方法时如果没有传入初始累计值,要求数组至少存在一个元素(会取第一个元素作为初始值),空数组调用该方法就会抛出你遇到的报错

正确实现方案

计算数位和的核心逻辑是先拆分数字的每一位,再用reduce累加,实现代码如下:

function solution(n) {
  // 数字转字符串→拆分为单字符数组→每一位转数字→reduce累加,初始值设为0
  return String(n)
    .split('')
    .map(Number)
    .reduce((accumulator, current) => accumulator + current, 0);
}

逻辑验证

  • 入参为123时,依次处理得到"123"→["1","2","3"]→[1,2,3],累加后输出6
  • 入参为987时,依次处理得到"987"→["9","8","7"]→[9,8,7],累加后输出24

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:06:06