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

如何使用ES6+剩余运算符实现求和函数?ES6新手求助

解决ES6求和函数问题

要完成这个使用剩余运算符(rest operator)的求和函数,你可以按照以下步骤实现:

步骤1:使用剩余运算符接收参数

剩余运算符...可以将任意数量的函数参数转换为一个数组。修改函数定义,用...nums捕获所有传入的数字:

const sum = (...nums) => {
  // 求和逻辑
}

这里nums会是一个包含所有传入数字的数组,比如调用sum(1,2,3)时,nums就是[1,2,3]。

步骤2:用reduce计算数组总和

ES6的数组reduce方法可以简洁地累加数组元素。它接受一个回调函数和初始值(这里初始值设为0,处理没有传入参数的情况):

const sum = (...nums) => {
  return nums.reduce((accumulator, current) => accumulator + current, 0);
}
  • accumulator:累加器,保存当前的总和
  • current:当前遍历到的数组元素
  • 初始值0:确保当没有传入参数时,函数返回0(比如sum()会返回0)

简化写法(可选)

因为是箭头函数,如果函数体只有一行返回语句,可以省略大括号和return:

const sum = (...nums) => nums.reduce((acc, curr) => acc + curr, 0);

验证示例

这个实现完全符合题目要求:

sum(1) // 1
sum(1,2) // 3
sum(1,2,4) // 7
sum(1,2,3,4,5,6,7) // 28

内容的提问来源于stack exchange,提问作者Paulo Henrique Moreira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:30:50