1
在for循環下面我有arr[i] = x * i;
我基本上是試圖獲得數字的倍數。我現在有代碼的結果是[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
我不想陣列的第一個元素是0 ..添加一個元素到一個for循環中的數組
var n = 10;
var arr = [];
var x = 2;
for(var i = 0; i < n; i++){
//arr[0] = x;
arr[i] = x * i;
// arr.push(x += x)
}
console.log(arr)
我想能夠做到ARR [0]和看到X。在這種情況下,這將是2(倍數的數字..我不知道數學詞)[2,4,6,8,10,12,14,16,18,20]
我知道問題是2 * 0等於0,所以arr [0] = 0。使第一個元素成爲第二個循環的最好方法是什麼?我正在考慮製作一個if語句。或者使用數組的開始片段的數組方法。我希望有一個更簡單的方法,像改變for循環。
我喜歡你的第一個。沒有測試第二個呢。我意識到我可以使用arr .push(),但使用arr [i]並且我沒有定義它是很自然的。在寫這個問題之前,我玩過像初始值一樣的初始值,並且我沒有定義第一個el。我想我的主要問題是我固執地想要使用arr [i]而不是push()。你能否給我一點提醒,爲什麼push更好,所以我會更傾向於在未來使用正確的方法?謝謝你的幫助。 –
@ user2537537在過去,'push'的顯示速度比索引分配要快得多。儘管使用'push'的主要原因是我相信代碼的可讀性。您可能需要檢查[this](http://stackoverflow.com/q/614126/1903116)和[this](http://stackoverflow.com/q/15649899/1903116)。 – thefourtheye
嗯,我猜推只是把最後一個元素放入一個數組後,並不關心我認爲的索引太多。我不想成爲一個負擔,但如果你能告訴我如何用arr [i](索引分配)得到解決方案,這將是有益的。這就是我一開始就計劃解決這個問題的方法,我想看看如果我去索引分配會有多糟糕。我會以任何方式接受你的答案。 –