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]?我找不到什麼是錯在我的代碼For loop沒有給出正確的結果
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]?我找不到什麼是錯在我的代碼For loop沒有給出正確的結果
這個工程:
var integer = 10;
var plus = [];
for (var i = 2; i < integer; i++) {
if (integer % i === 0) {
plus.push(i);
}
}
console.log(plus)
所以,基本上是你做錯了使用.push[i]
。它是一個常見的語法錯誤。你只需要使用.push(i)
plus.push(i);
,而不是使用plus.push[i];
函數是JavaScript對象。 plus.push[i];
在函數對象push
上查找屬性,使用i
的值作爲名稱(完全類似於索引到數組中);然後丟棄它得到的任何值(大概undefined
,因爲函數可能沒有名爲"2"
,"4"
等的屬性)。這就是爲什麼你沒有得到語法錯誤,就像你在其他許多語言中一樣。
要通話push
,使用()
,不[]
:
plus.push(i);