"FizzBuzz" 样式代码的错误答案

Wrong answer to "FizzBuzz" style code

原题是: 从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.

现在这确实是 return 467,但正如您所见 here 这似乎不是正确答案 另外,我是新来的,想知道代码片段是如何工作的,因为我根本没有得到 return 值。 另外,我如何在这里缩进我的代码?选项卡不起作用。

我认为您的代码没有任何问题 - 当我 运行 它时,我得到 233168,这似乎是正确的。

至于缩进代码,您必须使用空格。我通常在我的文本编辑器中缩进,然后复制并粘贴。

最后,对于代码片段,我对它们没有太多经验,但我相信您需要将您的答案记录到控制台,而不仅仅是 return 它。

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