【js】將1-100之間的奇數存入陣列
陣列在js的應用中非常重要,很多地方都用到了陣列進行儲存資料。今天總結一個小小的問題,但是很容易忘記的小知識點。
要求:將1-100之間的奇數存入到陣列中。
分析:
假設陣列array,迴圈判斷初始值var i=1。
大家最先想到的方法應該是我們對i進行判斷,然後將符合條件的i值存入陣列array[i],最後進行列印檢視結果是否正確,程式碼如下:
var array=[]; for(var i = 1; i< 100; i++){ if(i % 2 !== 0){ array[i] = i; } } console.log(array);
列印結果為:
[1: 1, 3: 3, 5: 5, 7: 7, 9: 9, 11: 11, 13: 13, 15: 15, 17: 17, 19: 19, 21: 21, 23: 23, 25: 25, 27: 27, 29: 29, 31: 31, 33: 33, 35: 35, 37: 37, 39: 39, 41: 41, 43: 43, 45: 45, 47: 47, 49: 49, 51: 51, 53: 53, 55: 55, 57: 57, 59: 59, 61: 61, 63: 63, 65: 65,
67: 67, 69: 69, 71: 71, 73: 73, 75: 75, 77: 77, 79: 79, 81: 81, 83: 83, 85: 85, 87: 87, 89: 89, 91: 91, 93: 93, 95: 95, 97: 97, 99: 99]
解決辦法:
我在這裡舉了三個簡單的例子,可能還有其他的方法^^。
方法一:
var array=[];
for(var i = 1; i< 100; i++){
if(i % 2 !== 0){
array.push(i);
}
}
console.log(array);
push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度。
var array = [];
var j = 0;
for(var i = 1; i< 100; i++){
if(i % 2 !== 0){
array[j] = i;
j ++;
}
}
console.log(array);
方法三:
var array = [];
for(var i = 1; i< 100; i++){
if(i % 2 !== 0){
array[array.length] = i;
}
}
console.log(array);
這個方法比較巧妙,我來解釋一下,剛開始array的長度為0,然後存入1,之後array長度加1,然後存入3,以此內推,最終得到的結果就是我們想要的。列印結果:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51,
53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]