做一个代码战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);
}
}
}
答案 0 :(得分:0)
代码中的多个问题
- For-loop条件应检查小于等于而不是大于等于
- minSdkVersion
应该在开头初始化,如果sum
满足条件,则需要添加i
。
<强>样本强>
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;
如果你真的想要只迭代数组,那么你需要先填充数组。
<强>样本强>
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;