老师 reduce用法不太清楚
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<script>
const add = (...args) =>{
// 在此补充代码
let sum = 0;
sum = args.reduce((a=0,b=0)=>a+b);
return sum
}
document.write(add(1,2,3,4,5));
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,代码实现是正确的,关于reduce的用法,可以参考如下解析:
1、语法
arr.reduce(callback(accumulator, currentVal, index, array), initialValue)
(1)第一个参数是要执行的函数,该函数中传入的参数
accumulator:上一次调用回调时返回的累积值,必选项。
currentVal:当前元素,必选项。
index:当前索引 ,可选项。
array: 被遍历的数组,可选项。
(2)第二个参数是函数迭代的数值
initialValue:第一次调用函数时的第一个参数的值, 如果没有提供初始值,则将使用数组中的第一个元素。
2、示例:
(1)没有设置初始值

reduce的作用就是对这个数组进行求和,迭代了3次,函数迭代的初始值是1,也就是默认值(数组的第一项),accumulator的值是每次计算后的值。
第一次迭代时,accumulator = 1; currentVal = 2; index = 1; arrar = arr; 函数返回值为:3
第二次迭代时,accumulator = 3; currentVal = 3; index = 2; arrar = arr;
函数返回值为:6
第三次迭代时,accumulator = 6; currentVal = 4; index = 3; arrar = arr
函数返回值为:10
运行结果如下:

(2)设置初始值

添加了一个初始的迭代值10,也就是让accumulator 从10开始计算,结合下图所示的打印结果,可知这里迭代了4次,结果中也加上了初始值。

reduce这个方法与迭代方法(forEach方法等)一样,都会对数组进行遍历,不同的是reduce方法的回调函数中的第一个参数得到的是迭代计算后的结果。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星