对于循环没有给出正确的结果

时间:2017-02-18 11:23:15

标签: javascript

var integer = 10;
var plus = [];

for(var i = 2; i < integer; i++) {
     if(integer % i === 0){
       plus.push[i];
     }  
   }
console.log(plus)

这会打印出空数组,但为什么呢? shoudnt它打印[2,5]?我无法找到我的代码中的错误

3 个答案:

答案 0 :(得分:2)

这有效:

&#13;
&#13;
var integer = 10;
var plus = [];
for (var i = 2; i < integer; i++) {
    if (integer % i === 0) {
        plus.push(i);
    }
}
console.log(plus)
&#13;
&#13;
&#13;

所以,基本上你做错了就是使用.push[i]。它是一个常见的语法错误。你只需要使用.push(i)

答案 1 :(得分:1)

plus.push(i);而非使用plus.push[i];

答案 2 :(得分:0)

函数是JavaScript中的对象。 plus.push[i];在函数对象push上查找属性,使用i的值作为名称(就像索引到数组中一样);然后扔掉它得到的任何值(大概是undefined,因为该函数可能没有名为"2""4"等的属性。这就是为什么你没有像许多其他语言那样得到语法错误。

致电 push,请使用(),而不是[]

plus.push(i);