📌  相关文章
📜  如何将所有数组元素与 for - Javascript 相加(1)

📅  最后修改于: 2023-12-03 15:24:45.175000             🧑  作者: Mango

如何将所有数组元素与 for - Javascript 相加

假设你有一个数组,你想把数组中的所有元素相加。你可以使用for循环来实现这个目标。

JavaScript代码片段
function sumArrayWithForLoop(array) {
  let total = 0;
  for (let i = 0; i < array.length; i++) {
    total += array[i];
  }
  return total;
}

const myArray = [1, 2, 3, 4, 5];
const sum = sumArrayWithForLoop(myArray);

console.log(sum); // 输出 15
解释

上面代码片段中的函数sumArrayWithForLoop遍历数组中的每个元素,将它们纳入总和。for循环从0开始,每次加1直到数组的末尾。total变量在每次循环迭代中被累加。最后,函数返回累加器的总和。

你可以在声明total变量时使用任何数字作为初始化值。如果你在循环中使用未初始化的变量,则总和将默认为NaN。这种情况很容易出现拼写错误或使用错误变量名称时。

更好的实现方法

使用数组reduce()方法可以使代码更加简洁,而不使用for循环。

JavaScript代码片段
function sumArrayWithReduce(array) {
  return array.reduce(function(total, currentValue) {
    return total + currentValue;
  });
}

const myArray = [1, 2, 3, 4, 5];
const sum = sumArrayWithReduce(myArray);

console.log(sum); // 输出 15
解释

reduce()方法接受一个回调函数作为参数,它将数组元素减少为单个值。回调函数接受两个参数:totalcurrentValue。在每个迭代中,当前值将添加到累加器中。

reduce() 方法中,使用 0 作为初始值参数。如果不指定初始值则数组的第一个元素将被用作初始值并且后续元素将依次相加。使用初始值可以避免空数组的问题。

结论

使用for循环可以实现将数组元素相加的目标,但在许多情况下,使用reduce()方法会更容易,更简洁。 现代JavaScript推荐开发人员在任何给定的情况下都应该尽量使用内置的数组方法。