javascript reduce所有数组值的函数总和

时间:2019-02-25 13:33:34

标签: javascript arrays for-loop sum

   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。

1 个答案:

答案 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 );

否则,您将在每次迭代时重新声明resultarr