- 编写一个名为 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([]));
我真的是 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([]));