试图找出这段代码有什么问题。
//Code to return the sum of all values in an array
var x = [ 1,2,3,4,5 ];
//Function to return sum of values in an array
function sum(arr) {
var sum = 0;
for (i=1; i < arr.length; i++) {
sum = sum + x[i];
}
return sum;
}
的值是sum(x)
多少?
这里有几个问题,有些比其他的更糟
首先,您应该将delcare i作为变量,i=0
->var i = 0
然后,您需要从0开始而不是从1开始for循环for(var i = 1
-> for(var i = 0
JavaScript(几乎所有其他语言)中的数组都从0开始索引。这意味着第一项arrayName[0]
不是arrayName[1]
然后,您错误地使用了arr[i]
not来访问数组中的值x[i]
。您要访问传递给函数的值,而不是之前创建的实际数组。
可以使用缩短第8行+=
,并且缺少分号
//Code to return the sum of all values in an array
var x = [1, 2, 3, 4, 5];
//Function to return sum of values in an array
function sum(arr) {
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
console.log(sum(x)); //15 -- it works! (1+2+3+4+5=15)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句