JS中for语句的循环的嵌套

今天说一下JS中for语句的循环嵌套。

for语句是JS中十分重要的循环语法。

for(表达式1;表达式2;表达式3){
            for(表达式4;表达式5;表达式6){
                执行语句块儿
            }
        }

这是嵌套写法的基本结构,首先要了解他的执行顺序是什么,才能更好地了解嵌套原理。
顺序:
表达式1 > 表达式2 > 表达式4 > 表达式5 > 执行语句块儿 > 表达式6 > 表达式3 > 表达式1
然后开始循环。
这就是for语句的嵌套。十分重要,初学者或者自学者需要多练,多理解。

为了让大家更好地理解for循环嵌套的工作原理,写几个常见的小demo。

demo1: 1-100的累加求和?

<script>
        //累加求和
        var sum=0;
        for(var i=0;i<=100;i++){
          sum+=i;
        }
        console.log(sum);
 </script>

输出结果为:5050;
这是基本的for循环语句没有嵌套。如果可以理解就开始嵌套。

demo2: 1-100之间的素数的判断和输出?

for(var i=2;i<=100;i++){
            var bool=true;
            for(var j=2;j<i;j++){
                if(i%j==0){
                    bool=false;
                    break;
                }
            }
            if(bool==true)console.log(`${i} 是素数`);
        }

《JS中for语句的循环的嵌套》

demo3:输出一个三角形?

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

《JS中for语句的循环的嵌套》

demo4:随机输出一个行数不确定的等腰三角形?这个是三角形的小提高。

var m=parseInt(Math.random()*(20+1-5)+5);//生成随机数
        for(var i=1;i<=m;i++){			//行数的循环
            for(var k=0;k<m-i;k++){		//生成对应的空格数量
                document.write(`&nbsp;&nbsp;`);
            }
            for(var j=1;j<=i*2-1;j++){	//生成*号
                document.write(`* `);
            }
            document.write(`<br>`);
        }
        document.write(`行数:${m}<br>`);//打印有几行

《JS中for语句的循环的嵌套》
《JS中for语句的循环的嵌套》
每一次刷新页面都会随机生成一个数,等腰三角形的行数也会随之变化(这里我的显示不是等腰三角形,是我符号有问题,你们可以换成其他符号。)

demo5:输出乘法口诀表?

for(var i=1;i<=9;i++){
            for(var j=1;j<=i;j++){
                document.write(`${j}*${i}=${i*j}&nbsp;&nbsp; `);
            }
            document.write(`<br>`);
        }

《JS中for语句的循环的嵌套》

最后这个例子也算是程序中十分经典的了,需要理清楚他们的关系,用一个方程组解出来:

demo6:百钱百鸡,公5元一只,母3元一只,小1元3只,一共一百元,买一百只鸡,每种鸡都得有。

for(var x=3;x<100;x+=3){
            for(var g=1;g<100;g++){
                if(x+g<100 && x/3+5*g+3*(100-x-g)==100){
                    document.write(
                        `公鸡:${g}只 
                        母鸡:${100-x-g}只 
                        小鸡:${x}只 <br>`
                        );
                }
            }    
        }

《JS中for语句的循环的嵌套》
其中 “ X ” 是代表小鸡有几个, “ g ” 代表公鸡有几个。

这里有点需要个人的逻辑思维能力,如果这些问题想通了,那么像一些输出倒三角啊,输出一个爱心啊,输出一个图形之类的,也就都能写出来了,最主要的是理解for循环嵌套的工作流程和执行顺序(一开始就写了执行顺序)。

    原文作者:_小木不是木_
    原文地址: https://blog.csdn.net/m0_46387873/article/details/104860493
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞