javascript循环的嵌套及遍历循环

javascript循环的嵌套及遍历循环

1.遍历循环

遍历循环作用就是用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作);
语法:

for(var 变量名 in 对象或数组名){
//在此执行代码
}
    <script>
         //把str的每一个字符输出出来;
        var str = "abcdefghyjk";//str伪数组
        for(var key in str){//key表示数组的下标
            console.log(str[key]);//输出str[key]的数,比如key=0,str[0]是a
        }
    </script>

在这里插入图片描述

2.循环的嵌套

循环的嵌套就是,循环里面还可以在里嵌套循环;
语法:

for(表达式1;表达式2;表达式3){
    for(表达式1;表达式2;表达式3){//这里也可以嵌套其他循环比如while循环和do.while循环
    }
}

示例:

<script>
        //九九乘法表
        for(var i = 1; i < 10; i++){
            document.write("<br/>"); //换行
            /*第一遍循环 i = 1; i<10成立 执行循环
            j = 1; j <=i 成立 执行循环
            sum = 1 * 1 ;
            然后在 j++ j=2 ,j <=i 不成立 ,跳出循环
            i++; i = 2 ; i <10 成立 ,执行循环
            此时的j 还是从 j = 1 开始循环 , j <= i 成立
            sum = 1 * 2;
            然后j++ ;j = 2 j < = i 成立 执行循环
            sum = 2 * 2 ;
            以此类推。
            */
            for(var j = 1;j <= i; j++ ){//要注意这的变化,外面for循环要执行一次的时候,这里的for循环的j都是从头开始执行;
                var sum = i * j; 
                document.write(j + "*" + i + "=" + sum + "&nbsp;&nbsp;&nbsp;");
            }
        }
    </script>

在这里插入图片描述

练习:

    <script>
    //输一个数求他的质因数,例如:90=2*3*3*5
    function fenjie(a){
        var arr = []; //空数组
        var b = a; //因为a 后面的数值会变,所以在这里先给b赋值等于a ;b= 90
        for (var i = 2; i <= a; i++) {
         // 第一次循环i = 2 ; i < = a (90) 成立执行
         // i++ i= 3 ;
            while (a % i == 0) {
            //第一次循环 90 % 2 == 0     45 = 90 / 2 a = 45 
            //第二次循环 45 % 2 余 1 不成立 ,不循环 45 %  3 == 0   15 = 45 / 3  a =15 
            // 再次循环 15 % 3 == 0   5 = 15 / 3  a= 5  因为此时的 a= 5 ,5 只能余5跟1 == 0 所以后面 直到i= 5 成立
                a = a / i;
                arr.push(i);//从数组里添加i i = 2 ; 3 ; 3; 5 最后arr为:[2,3,3,5]
            }
        }
        return b + "=" + arr.join(" * ");
    }
    console.log(fenjie(90)); 
    </script>

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值