[英]Use reduce to sum all values of an array passed via a console log
我正在尝试通过控制台日志获取数组的总数。 但是,它不是添加数字,而是返回前面带有 0 的数组。
这是我尝试过的
const sum2 = (array) => { let total = 0; const totalFigure = array.reduce((total, number) => {}, 0) return total + array } console.log(sum2([1, 3, 5, 7, 9]));
Array.prototype.reduce()
接受回调 function ,其中回调的第一个参数是上一次循环迭代中计算的“总”值,第二个参数是迭代的当前值。 最终代码可能如下所示:
const sum2 = arr => {
const result = arr.reduce((total, number) => {
return total + number;
}, 0);
return result;
};
更短:
const sum2 = arr => arr.reduce((total, number) => total + number, 0);
因为你没有做任何事情来减少你的数组 function
(total, number) => {}
并且您的初始值为 0,您只需通过返回将 0 添加到您的数组中
total + array
你永远不会总结你的数组。 total + array
变成0 + array.toString()
,它创建了您所看到的01,3,5,7,9
。
如果你想总结你的数组的值,这是一种方法:
const sum2 = (array) => array.reduce((total, number) => total+=number, 0) console.log(sum2([1, 3, 5, 7, 9]));
(total, number) => total+=number
这会按number
递增初始值( total
首先设置为),将它们加在一起并将它们返回到 reduce function 的下一次迭代
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.