javascript - 将数组作为参数传递给 js 函数

标签 javascript arrays

我想创建一个基本函数来总结数组中的值。我知道数组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/

相关文章:

javascript - 搜索数组的数组 JavaScript

arrays - Mongoose 的事务行为

java - 大批?参数数组?

c - 为什么这个顺序数组循环比使用 "lookup"数组的循环慢?

javascript - 如何阻止按钮的后续点击事件?

c++ - 使用 cin 输入数组值

javascript - NodeJS 类型错误 : Cannot read property of undefined

javascript - 带有和参数范围长度属性

javascript - 如何从选定的 <tr> 中获取最低的 id

javascript - Typescript - 从数组项的通用类型创建组合类型