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

JavaScript如何将数字拆分为展开式并以+符号拼接结果

问题原因

  • join()是数组的专属方法,你代码里将它用在"0".repeat()返回的字符串上,自然不会生效。
  • 你当前直接将拆分结果拼接到字符串变量中,没有合适的分隔符拼接载体,需要先将有效拆分结果存入数组,最后统一拼接。
  • 额外注意:如果当前位是0,对应的拆分结果就是0,需要过滤掉,否则最终输出会多出多余的+ 0。

修正后代码

function expandedForm(num) {
    const numArr = num.toString().split("");
    const len = numArr.length;
    const resultArr = [];
    for (let i = 0; i < len; i++) {
        const current = numArr[i];
        if (current !== '0') {
            // 计算当前位的展开值
            const item = current + '0'.repeat(len - 1 - i);
            resultArr.push(item);
        }
    }
    return resultArr.join(" + ");
}

效果验证

  • expandedForm(1220) 输出 "1000 + 200 + 20"
  • expandedForm(221) 输出 "200 + 20 + 1"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:09:05