我想创建一个基本函数来总结数组中的值。我知道数组reduce方法,但我最初想使用循环“for”,如下所示...但是它返回NaN...为什么?
var numbers=[1,2];
var total;
function sum(array){
total=0;
for(var x=0;x<=array.length;x++){
total += array[x];
}
return total;
}
最佳答案
做sum(numbers)
,也在你的循环中,中断条件应该是 x<array.length;
你也不需要 total
一个全局变量,用于继续向其中添加数组的值。
var numbers = [1, 2];
function sum(array) {
var total = 0;
for (var x = 0; x < array.length; x++) {
total += array[x];
}
return total;
}
var total = sum(numbers);
alert(total);
虽然较短的方法是使用 .reduce在数组上
var array = [1,2]
var sum = array.reduce(function(prev, curr) { return prev + curr; }, 0);
alert(sum);
在这里您还可以提供Arrow Function 而不是完整的功能。
var array = [1, 2]
var sum = array.reduce((prev, curr) => prev + curr);
alert(sum);
关于javascript - 将数组作为参数传递给 js 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34631054/