我们使用 JavaScript 的 for 循环语句来将循环体内的一组语句重复指定的次数。嵌套 for 循环,顾名思义,是由多个 for 循环组成的,一个循环嵌套在另一个循环内部。这使我们能够循环遍历矩阵等多维数据结构。
JavaScript 中的嵌套 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 循环的工作原理。
示例 1
这里我们将使用嵌套 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>
在上面的代码中,我们获取行数和列数的输入,然后使用嵌套循环创建指定的矩阵。 注意,外循环的终止条件决定矩阵的行数,内循环的终止条件决定矩阵的列数。
可以调整循环的参数(初始化值、终止条件、更新),使用嵌套循环来实现几乎任何类型的嵌套遍历。
让我们看看如何使用嵌套循环来打印金字塔。
示例 2
这里我们将使用 * 符号和用户提供的高度创建一个金字塔。让我们看一下相同的代码。
<!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)打印与当前迭代中金字塔的高度一样多的 * 字符。
结论
嵌套循环是一种非常有用的结构,用途广泛并且经常使用。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 如何在JavaScript中使用嵌套的for循环?