-编写一个名为sumNumbers的函数,该函数接受单个数字数组并返回数组中数字的总和



我是JavaScript的新手,所以如果这个问题看起来有点平淡,请原谅我。

我想写一个函数,执行以下操作:

1。接受单个数字数组并返回数组中数字的总和。2. 如果为空,返回0。

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

有人知道解决方法吗?非常感谢:)

您可以使用for循环遍历数组,并在每次迭代中增加sum,最后返回它。

如果数组中没有数字,则该函数将返回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([]));

最新更新