原问题是: 从 1 到 1000 的所有 3 和 5 的倍数之和是多少? 我写了这段代码来解决这个问题。
var array =[]; //Setting up the Array
for (i=0 ; i<1000 ; i++) {
if(i %3 === 0) {
array.push(i);
} else if (i%5 === 0) {
array.push(i);
} else{
};
}; //This is the main loop
var sum = array.reduce(function(a,b) {
return a+b;
}); //array reduce function to summate the array.
现在确实返回 467,但这似乎不是正确的答案,如您所见 here 另外,我是新来的,想知道代码片段是如何工作的,因为我根本没有得到返回值。 另外,我如何在这里缩进我的代码?选项卡不起作用。
最佳答案
我不认为你的代码有什么问题 - 当我运行它时,我得到 233168 ,这似乎是正确的。
至于缩进代码,您必须使用空格。我通常在文本编辑器中缩进,然后复制并粘贴。
最后,对于代码片段,我对它们没有太多经验,但我相信您需要将答案记录到控制台,而不仅仅是返回它。
var array =[]; //Setting up the Array
for (i=0 ; i<1000 ; i++) {
if(i %3 === 0) {
array.push(i);
} else if (i%5 === 0) {
array.push(i);
}
} //This is the main loop
var sum = array.reduce(function(a,b) {
sum = a+b;
return a+b;
}); //array reduce function to summate the array.
console.log(sum);
关于javascript - "FizzBuzz"样式代码的错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712370/