为什么此代码返回10而不是2?添加数组元素Javascript
var arrToSum = [2, 4, 10];
function sumArray(array) {
var result = 0;
for (var i = array[0]; i < array.length; i++) {
result += array[i];
}
return result;
}
sumArray(arrToSum);
// function returns 10
如果下面的循环逻辑,我会增加到结果变量之后结束,因为下一个我等于3和循环应该结束。请解释发生了什么。
因为'i'从'2'运行到'2',所以只需将'arr [2]'('10')添加到' 0'。我不清楚你打算使用'var i = array [0];'。扩大一点:*“因为下一个'i'等于'3'”*是的,你只加了一个值,循环在一次迭代后停止,但是因为'i'从'2开始'你是添加'arr [2]',而不是'arr [0]'。顺便说一句,如果你想明白你的代码在做什么,设置一个断点,一步一步通过你的代码并检查变量。 –
因为'array [2]'是10 –