- 编写一个名为 sumNumbers 的函数,它接受单个数字数组和 returns 数组中数字的总和

- Write a function called sumNumbers that accepts a single array of numbers and returns the sum of the numbers in the array

我真的是 JavaScript 的新手,所以如果这个问题看起来有点让人难以理解,请原谅。

我正在尝试编写一个执行以下操作的函数:

1.接受单个数字数组和 returns 数组中数字的总和。 2.如果为空,returns0.

let num3 = function sumNumbers([index]) {
if (index != "number") {
    return 0;
}
else {
    [index].reduce((a, b) => a + b, 0)
}


}



num3(1, 2, 3);

但是,我收到了这个错误:

Uncaught TypeError: number 1 is not iterable (cannot read property Symbol(Symbol.iterator))
at sumNumbers (main.js:16:31)
at main.js:25:1

有人知道解决办法吗?真的很感激:)

您可以 iterate over the array using a for loop 并在每次迭代中递增 sum,最后 return 它。

如果数组中没有数字,那么函数将 return sum 的初始值,即 0.

function addNums(nums) {
  let sum = 0;
  for (let i = 0; i < nums.length; i++) {
    sum += nums[i];
  }
  return sum;
}

console.log(addNums([1, 2, 3]));
console.log(addNums([]));

您也可以使用 Array.prototype.reduce 并一步完成计算。

const addNums = (nums) => nums.reduce((s, n) => s + n, 0);

console.log(addNums([1, 2, 3]));
console.log(addNums([]));