JavaScript实现Simple Array Sum函数计算错误,求技术协助
解决数组求和函数的问题
嘿,我来帮你排查代码里的问题,你遇到的输出异常主要是两个小错误导致的:
问题1:错误的数组元素引用
你写的sum += (ar)是把整个数组和sum做运算,在JavaScript里数字和数组相加会自动转成字符串拼接,这就是为什么你得到01,2,3,4,10,11这种奇怪结果的原因——本质是初始值0和数组[1,2,3,4,10,11]做了字符串拼接。
正确的做法应该是取数组的当前循环元素,也就是ar[i]。
问题2:return语句位置错误
你把return sum放在了for循环的内部,这会导致循环只执行一次就直接返回结果,根本没机会遍历完数组里的所有元素。return应该放在循环结束之后,确保所有元素都被累加完毕。
修正后的代码
function simpleArraySum(ar) { var sum = 0; for (var i = 0; i < ar.length; i++) { sum += ar[i]; // 取当前循环的数组元素 } return sum; // 遍历完成后再返回总和 }
测试一下这个函数,传入[1,2,3,4,10,11]就会得到正确的31啦~
内容的提问来源于stack exchange,提问作者SamM
相关产品推荐
相关产品推荐

