多个函数的总和6Kyu Codewars

时间:2017-10-17 08:42:02

标签: javascript

做一个代码战Kata - 要求编写一个带数字的函数,并提取所有3和5的倍数并将它们加在一起。所以如果我们通过10,结果将是3,5,6,9的总和。

这是我的代码,我不知道它为什么不起作用:

function solution(number){
for (var i=0; i>=number; i++){
  if(i%3===0 || i%5===0){
  var arr = [];
  var full = arr.push[i];
  var sum= full.reduce(function(a,b){return a+b},0);
  console.log (sum);
  }
 }
}

1 个答案:

答案 0 :(得分:0)

代码中的多个问题

- For-loop条件应检查小于等于而不是大于等于

- minSdkVersion应该在开头初始化,如果sum满足条件,则需要添加i

<强>样本

&#13;
&#13;
function solution(number)
{
   var sum = 0;
   for (var i=0; i<=number; i++)
   {  
       if( i%3===0 || i%5===0)
       {
           sum += i;
       }
   }
   return sum;
}
console.log( solution(10) );
&#13;
&#13;
&#13;

如果你真的想要只迭代数组,那么你需要先填充数组。

<强>样本

&#13;
&#13;
function solution(number)
{
   var sum = 0;
   var arr = Array( number ).fill().map( ( e , i ) => i+1 );   
   arr.forEach( function( item ){
       if( item%3===0 || item%5===0 )
       {
           sum += item;
       }
   });
   return sum;
}
console.log( solution(10) );
&#13;
&#13;
&#13;