簡體   English   中英

循環思想一個多維數組

[英]Loop thought a multi dimensional array

我嘗試將一個多維數組返回到一個函數中以對其進行迭代,但我不確定我的邏輯有什么問題

const arr = [[1,2], [3,4],[5,6]]
for(let i = 0; i < thirdInterval.length-1; i++){
    getNumbers(thirdInterval[i], thirdInterval[i+1])
}

我想要實現的結果是將第一個元素返回到函數的第一個參數中,將數組的第二個元素返回到函數的第二個參數中。

您在這里所做的是遍歷數組並僅獲取索引 i 處的數組,例如arr[0][1,2] 並且(thirdInterval[i], thirdInterval[i+1])實際上等於([1,2], [3,4])

要訪問第一個和第二個元素,您應該像下面這樣處理它們:

for(let i = 0; i < thirdInterval.length-1; i++){
    getNumbers(thirdInterval[i][0], thirdInterval[i][1])
}
const arr = [[1,2][3,4][5,6]];

for (var i = 0; i < arr.length; i++;) {
    func(arr[i][0], arr[i][1];
}

您正在使用子數組迭代數組,這意味着thirdInterval[i]包含兩個項目。 您可以使用索引thirdInterval[i][0]thirdInterval[i][1] ,但由於您使用這些值調用函數,因此您可以使用 spread 代替 - getNumbers(...thirdInterval[i])

另外,如果不想跳過最后一項,循環的條件應該是i < thirdInterval.length

演示:

 const thirdInterval = [[1,2],[3,4],[5,6]] const getNumbers = console.log // mock getNumbers for (let i = 0; i < thirdInterval.length; i++) { getNumbers(...thirdInterval[i]) }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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