如何在mean函数中调用sum函数实现数组求和与均值计算?
问题分析与代码修正
你的代码存在两个关键问题,导致无法正确计算数组均值:
- sum函数提前返回:
return value写在了for循环内部,这会让函数在第一次循环时就直接返回当前的累加值,无法完成整个数组的求和操作。 - 未声明局部变量:
sum里的value和mean里的final没有用let/const声明,会成为全局变量,容易引发意外的变量冲突。
修正后的代码
修正sum函数
function sum(array) { let value = 0; for (let i = 0; i < array.length; i++) { value += array[i]; // 简化累加写法 } return value; // 循环结束后返回总和 }
修正mean函数
function mean(array) { // 处理空数组情况,避免除以0报错 if (array.length === 0) { return 0; // 也可以根据需求抛出错误,比如 throw new Error('数组不能为空'); } let total = sum(array); let final = total / array.length; return final; }
验证示例
const testArray = [1, 2, 3, 4, 5]; console.log(sum(testArray)); // 输出15 console.log(mean(testArray)); // 输出3
内容的提问来源于stack exchange,提问作者krishna
相关产品推荐
相关产品推荐

