2016-04-21 213 views
1

我想用數字從1到數組的長度填充數組。但是,它不工作。我可以做什麼不同來修復它?for循環用數字填充數組

var numArray = new Array(48); 

for(i=0;i>=numArray.length;i++) { 
    numArray[i] = numArray.push(i+1); 
} 
+1

更改線; 'numArray [i] = i + 1;' – ali

+0

你可以這樣做:'numArray [i] = i + 1'。 –

+0

我的輸出是「,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,「:c –

回答

1

首先,你的循環實際上不會運行,因爲條件i >= numArray.length將立即是假的,因爲i == 0numArray.length == 48。要解決此問題,請將環路更改爲

// this will loop as long as i is less than the length of the array 
// i.e. i = 0, i = 1, i = 2, ... 
for (var i = 0; i < numArray.length; i++) { 

另外,您並未以您認爲的方式將數字添加到數組中。 numArray.push(i+1)添加到陣列中,這將在索引48被起動結束時的數目可以簡單地使用

numArray[i] = i + 1; 

與數添加到陣列。如果你必須使用push方法,你知道你的數組必須具有48的長度,你可以做

var numArray = new Array(0); 
for (var i = 0; i < 48; i++) { 
    numArray.push(i + 1); 
} 
+0

我編輯的答案包括如何使用推 – jonhopkins

+0

如何幫助,謝謝。當然,我的一個愚蠢的錯誤。 –

0

你也可以像這樣做;

var numArray = (new Array(48)).fill("whatever").map((e,i) => i+1); 
 
document.write('<pre>' + JSON.stringify(numArray, 0, 2) + '</pre>');