for (var j = 0; j < l; j++) {
aa = (j*5)/12/100;
const arr = [ { x: aa } ];
const result = arr.reduce( ( sum, { x } ) => sum + x , 0);
console.log( result );
}
我尝试使用javascript reduce对所有输出数字求和。但是,无法实现所需的输出。此aa
变量在前12个计数中返回5,然后在后12个计数中返回10。因此,我希望这一行console.log(result)
返回 180 ((5 * 12)+(10 * 12))。但是,它将在控制台中返回5和10。
答案 0 :(得分:4)
如果您要这样做,则应该尝试:
const arr = [];
for (var j = 0; j < 10; j++) {
let aa = (j*5)/12/100;
arr.push({ x: aa });
}
const result = arr.reduce( ( sum, { x } ) => sum + x , 0);
console.log( result );
否则,您将在每次迭代时重新声明result
和arr
。