我想用 JavaScript 中的 forEach 数组函数计算总和。但我没有得到我想要的。
function sum(...args) {
args.forEach(arg => {
var total = 0;
total += arg;
console.log(total);
});
}
sum(1, 3);
如何用forEach求总数,或者用reduce方法?
原文由 Milosh N. 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想用 JavaScript 中的 forEach 数组函数计算总和。但我没有得到我想要的。
function sum(...args) {
args.forEach(arg => {
var total = 0;
total += arg;
console.log(total);
});
}
sum(1, 3);
如何用forEach求总数,或者用reduce方法?
原文由 Milosh N. 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该将 total
放在 forEach 循环 之外:
function sum(...args) {
var total = 0;
args.forEach(arg => {
total += arg;
});
console.log(total);
}
sum(1, 3);
原文由 BladeMight 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
您最好使用
Array#reduce
,因为它是为这种目的而制作的。它需要一个起始值,如果没有给出,它会使用数组的前两个元素并将数组逐字地减少为单个值。如果数组为空且未提供起始值,则会抛出错误。