正确答案应该是 15,但是这个函数的结果却是 18。

问题出在 for 循环中,每次循环都是将 a 和 b 的值加上 arr[i],但是第一次循环时已经将 a 和 b 的值加起来了,所以在第一次循环时就应该将 sum 的初始值设为 a + b。修改后的代码如下:

function getSum(a, b, ...arr) { let sum = a + b; for(let i = 0; i < arr.length; i++) { sum += arr[i]; } return sum; }

console.log(getSum(1, 2, 3, 4, 5)); // 输出 15

结果错了 function getSuma b arr let sum = 0 forlet i = 0; iarrlength; i++ sum += a+b+arri return sumconsoleloggetSum1 2 3 4 5;

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

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