在函数getSum中,参数a和b是两个数字,而参数arr是一个使用了剩余参数语法...的数组。在for循环中,对于每个数组元素,都将a、b和该元素相加并赋值给sum变量,因此最终的sum值只会是最后一个元素和a、b相加的结果,而不是所有元素相加的结果。要实现所有元素相加的结果,应该将sum的初始值设为a+b,然后在循环中累加每个元素的值,即sum += arr[i]。修改后的代码如下:

function getSum(a, b, ...arr) { let sum = a + b; for(let i = 0; i < arr.length; i++){ sum += arr[i]; } console.log(arr); return sum; } console.log(getSum(1, 2, 3, 4, 5)); // 15

为什么他们相加不了 function getSuma b arr consolelogarr consolelogarr 使用的时候不需要写 let sum = 0 forlet i = 0; iarrlength; i++ sum = a+b+arri consolelogarr; return sum

原文地址: http://www.cveoy.top/t/topic/MVz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录