一笔非常大的金额 - 黑客排名

Ben*_*uiz 5 javascript arrays reduce

我正在尝试解决黑客排名上的“一笔非常大的金额”挑战:https://www.hackerrank.com/challenges/a-very-big-sum/problem

\n

在那里我必须对给出的数组中的所有数字求和,所以我想出了两个解决方案:

\n

第一个解决方案

\n
function aVeryBigSum(ar){\n  let sum = 0;\n  for(let i = 0; i < ar.length; i++){\n     sum += i;\n   }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

第二种解决方案

\n
function(ar){\n let sum = ar.reduce((accumulator, currentValue) => {\n  accumulator + currentValue;\n    });\n}\n
Run Code Online (Sandbox Code Playgroud)\n

但它们都不起作用,我不\xc2\xb4t知道为什么,我想也许我没有按照黑客等级希望我写的那样,但我不确定

\n

Ken*_*nny 6

sum += i;应该sum += ar[i];

还返回总和

function aVeryBigSum(ar){
  let sum = 0;
  for(let i = 0; i < ar.length; i++){
     sum += ar[i];
  }
  return sum;
}
Run Code Online (Sandbox Code Playgroud)

减速器功能也应该像

function a(ar){
  let sum = (accumulator, currentValue) => accumulator + currentValue;
  return ar.reduce(sum);
}
Run Code Online (Sandbox Code Playgroud)