這個函式應該接受一個陣列并顛倒它的順序。它有效,但我不明白第三行“for (let i = arr.length ...”在做什么。有人可以解釋一下什么被推送到新的反向陣列嗎?
const reverseArray = arr => {
let reversed = [];
for (let i = arr.length - 1; i >= 0; i--) {
reversed.push(arr[i]);
}
return reversed
}
uj5u.com熱心網友回復:
如果您不熟悉 Javascript 或一般編程,請查看這個很酷的網站:W3Schools
第三行的作用是從陣列的最后一個元素(因此 arr.length - 1,-1 是因為陣列位置從 0 而不是 1 開始)到第一個元素,它將每個值推送到一個新陣列(反轉)這就是你得到最終結果的方式。
uj5u.com熱心網友回復:
ex - arr[a,b,c,d,e,f,g]
0 1 2 3 4 5 6
這個回圈目前像 (6,5,4,3,2,1,0) 一樣反向作業,因為它由 i--
for (let i = arr.length - 1; i >= 0; i--) {
reversed.push(arr[i]);
}
當回圈在反向陣列的第一個插入中運行 arr 陣列的最后一個元素時
uj5u.com熱心網友回復:
對于線路:
for (let i = arr.length - 1; i >= 0; i--)
for 回圈從最后一個元素開始,回圈遍歷每個元素,直到到達結束元素。然后每次將陣列項附加到反轉陣列。
以陣列為例:
Index Value
0 10
1 20
2 30
3 40
for回圈的第一部分
let i = arr.length - 1
將 i 設定為 arr.length - 1 = 4 - 1 = 3
所以添加的第一個值是 arr[3] = 40
回圈的每次迭代(當 i >- 0 時)分配當前索引的 i 值并將 i 減 1。
uj5u.com熱心網友回復:
它獲取提供的陣列中的所有內容 ( arr),從最后一個元素開始,并將這些元素從前推到一個新陣列 ( reversed) 中。反轉陣列中的專案。
因此,如果您擁有["apple", "banana", "pear"]它將從最后一個元素 ( pear) 開始,將其推送到新陣列。然后轉到pear( banana) 之前的元素。直到舊陣列中沒有更多專案。
所以新陣列將包含["pear", "banana", "apple"]
有多種方法可以做到這一點,也許查看此鏈接有助于您理解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466588.html
標籤:javascript
上一篇:獲取空陣列
