[英]Pushing an array in a decremented for loop
我有一個整數數組,我試圖為其反轉索引。
例如,我試圖使[1,2,3,4,5,6,7,8,9] => [9,8,7,6,5,4,3,2,1]
我正在使用原始數組firstArr
的 for 循環來解決這個問題
reverseArr = []
for (i = 0; i > firstArr.length; i--) {
reverseArr.push(firstArr[i])
}
console.log(reverseArr) // 0
當我 console.log reverseArr
我的返回值為 0。我是 javascript 的新手,我不完全確定我做錯了什么
我期望reverseArr
以相反的順序保存firstArr
的值。
使用 Array.prototype.reverse(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
注意:它正在反轉實際的數組,因此firstArr.reverse()
將修改firstArr
本身。
根據您的方法,您正在嘗試將項目從 firstArr 的最后一項添加到 reverseArr。 所以為此你必須初始化i = firstArr.length -1
而不是 '0' 和條件為i >= 0
。 這是因為數組索引以“0”開頭,數組的最后一個索引是數組的長度 - 1。
firstArr = [1,2,3,4,5,6,7,8,9] reverseArr = [] for (i = firstArr.length-1; i >= 0; i--) { reverseArr.push(firstArr[i]) } console.log(reverseArr)
您也可以通過使用內置的reverse()
function 來實現這一點,如下所示:
firstArr = [1,2,3,4,5,6,7,8,9] reverseArr = firstArr.reverse() console.log(reverseArr)
你的 for 循環有點混亂。 它應該如下:
reverseArr = [];
for (i = firstArr.length-1; i >= 0 ; i--) {
reverseArr.push(firstArr[i]);
}
console.log(reverseArr);
使用 javascript 數組reverse()
方法來反轉數組中元素的順序:
請參閱以下示例以更好地理解:
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9]; document.getElementById("demo").innerHTML = array; function printReverseArray() { array.reverse(); document.getElementById("demo").innerHTML = array; }
<button onclick="printReverseArray()">Reverse</button> <p id="demo"></p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.