JavaScript 函数求和错误分析及解决方案
JavaScript 函数求和错误分析及解决方案
问题描述:
假设我们有一个名为 getSum() 的 JavaScript 函数,用于计算多个数字之和,代码如下:
function getSum(a, b, ...arr) {
let sum = 0
for(let i = 0; i<arr.length; i++){
sum += a+b+arr[i]
}
return sum
}
console.log(getSum(1, 2, 3, 4, 5)); // 输出 18
预期结果应该是 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
通过将 sum 的初始值设为 a + b,确保在第一次循环时只对 arr 中的元素进行累加,从而得到正确的总和结果。
原文地址: https://www.cveoy.top/t/topic/l4UL 著作权归作者所有。请勿转载和采集!