簡體   English   中英

在遞減的 for 循環中推送數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM