1. 程式人生 > 其它 >雙重for迴圈

雙重for迴圈

什麼是雙重for迴圈

雙重for迴圈就是在一個for迴圈裡在巢狀另一個for迴圈,ji\即兩個迴圈巢狀,還有多重迴圈巢狀的情況,但用的比較少,一般常用的是兩個迴圈巢狀,很少使用多重迴圈,因為for迴圈多了會導致程式碼執行的效率低,而且容易宕機,多迴圈中的總迴圈次數是相乘的,巢狀幾次後幾何級數增長,因此通常情況下在迴圈多次巢狀時,我們是不推薦使用使用的。

語法

外層迴圈一次,內層for迴圈全部執行完成再進行外層的一次迴圈;

 for(迴圈變數;迴圈條件;迴圈操作){
       for(迴圈變數;迴圈條件;迴圈操作){
}
}

列印99乘法表

當i=1時,執行內層迴圈從j=1到j=i,內層結束後開始 i++,

當i=2時,執行內層迴圈從j=1到j=i,內層結束後開始 i++,

當i=9時,執行內層迴圈從j=1到j=i,內層結束後開始 i++,此時i=10;外層迴圈結束

for(var i=1;i<=9;i++){
    for(var j=1;j<=i;j++){
         document.write(i+"*"+j+"="+Number(i*j)+"\t"+"&nbsp;");  //\t為製表符  &nbsp為空格
    }
    document.write("<br/>"
) //換行 }

在這裡插入圖片描述

列印倒三角

當i=1時,開始內層迴圈,j從8開始到j=i,列印*,內層結束後開始i++;

當i=8時,再次執行內層迴圈,j從8開始到 j=1,內層迴圈結束後i++,此時i=10;迴圈完畢

for(var i=1;i<=8;i++){
    for(var j=8;j>=i;j--){
         document.write("*");
    }
    document.write("</br>"); //列印換行
}

在這裡插入圖片描述

列印正三角

原理與列印倒三角相似, 只是內層迴圈有些不同;

for(var
i=1;i<=5;i++){ for(var j=1;j<=i;j++){ document.write("*"); } document.write("</br>"); }

結果:
在這裡插入圖片描述