我們使用 JavaScript 的 for 迴圈語句來重複循環體內的一組語句指定的次數。巢狀 for 循環,顧名思義,是由多個 for 迴圈組成的,一個循環嵌套在另一個循環內部。這使我們能夠循環遍歷矩陣等多維資料結構。
簡單的 for 迴圈會根據初始化值和終止條件執行指定的次數。另一方面,巢狀 for 迴圈在外部 for 迴圈內駐留一個或多個 for 迴圈。
for(let i = 0 ; i < limit; i++){ // statement }
這將建立一個執行 limit 次的簡單 for 迴圈。這意味著它執行循環體內的語句限制次。
在巢狀迴圈中,for 迴圈體內的語句又是一個 for 迴圈。這會導致內部 for 迴圈一直執行到外部 for 迴圈的每次迭代。
for(let i = 0 ; i < limit; i++){ for(let j = 0 ; j < limit; j++){ // statement } // statement for outer loop }
此範例中的內部循環對於外部循環的每次迭代運行 limit 次。因此,循環總共運行 limit x limit 次。
兩個迴圈的初始化值、終止條件、循環變數的更新是相互獨立的。
讓我們透過一個例子來看看巢狀 for 迴圈的工作原理。
這裡我們將使用巢狀 for 迴圈來建立一個「#」的二維矩陣。
讓我們來看看相同的程式碼。
<!DOCTYPE html> <html> <body> <h3> The nested for loop in JavaScript</h3> <p> Enter number of rows and columns to create matrix</p> <form> <label >Rows : </label> <input type = "text" id = "rows"><br><br> <label > Columns : </label> <input type = "text" id = "cols"><br><br> <input type = "button" onclick = "fun()" value = "Create Matrix"> </form> <br><br> <div id="result"></div> <script> function fun(){ var text = ""; var rows = document.getElementById("rows").value; var cols = document.getElementById("cols").value; for(let i = 0 ; i < rows; i++){ for(let j = 0 ; j < cols ; j++){ text += "#" } text += "<br>"; } document.getElementById("result").innerHTML = text; } </script> </body> </html>
在上面的程式碼中,我們取得行數和列數的輸入,然後使用巢狀循環建立指定的矩陣。 注意,外部循環的終止條件決定矩陣的行數,內循環的終止條件決定矩陣的列數。
可以調整迴圈的參數(初始化值、終止條件、更新),使用巢狀迴圈來實現幾乎任何類型的巢狀遍歷。
讓我們看看如何使用巢狀循環來列印金字塔。
這裡我們將使用 * 符號和使用者提供的高度來建立一個金字塔。讓我們來看看相同的程式碼。
<!DOCTYPE html> <html> <body> <h3>The nested for loop in javascript</h3> <p>Enter the height of the pyramid:</p> <form> <label>Height : </label> <input type="text" id="height"><br><br> <input type="button" onclick="fun()" value="Create Pyramid"> </form> <br><br> <div id="result"></div> <script> function fun() { var text = ""; var height = document.getElementById("height").value; // loop 1 for (let i = 0; i < height; i++) { // loop 2 for (let j = 0; j < height - i; j++) { text += " " } // loop 3 for (let j = 0; j <= i; j++) { text += "*"; } text += "<br>"; } document.getElementById("result").innerHTML = text; } </script> </body> </html>
在上面的程式碼中,如輸出所示,在更改循環參數後,我們可以視覺化許多不同的遍歷模式。
注意程式中的外循環(循環1)決定了金字塔的高度。第一個內部循環(循環 2)決定每行開頭的空格字元數。第二個內部循環(循環 3)列印與目前迭代中金字塔的高度一樣多的 * 字元。
巢狀循環是一種非常有用的結構,用途廣泛且經常使用。
以上是如何在JavaScript中使用嵌套的for迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!