zoukankan      html  css  js  c++  java
  • js中的循环方式及各种遍历的方法

    for循环

      1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割,

              for循环三个表达式都可以省略,但是两个“;”缺一 不可。

          2、for循环的执行特点:先判断再执行,与while相同  

         3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;

    for(var num = 1;num<10;num++){
                   console.log(num);//1,2,3,4,5,6,7,8,9
                  }

    while循环   

    while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则如下。

      ①Boolean:true为真,false为假;
      ②String:空字符串为假,所有非空字符串为真;
      ③Number:0为假,一切非0数字为真;
      ④null/Undefined/NaN:全为假;
      ⑤Object:全为真。

    var num = 1;//1、声明循环变量
                
    while (num<10){//2、判断循环条件;
        console.log(num);//3、执行循环体操作;
        num++;//4、更新循环变量;
    }

    do-while循环  

    while循环特点:先判断后执行;

    do-while循环特点:先执行再判断,即使初始条件不成立,do-while循环至少执行一次,也就是说do-while循环比while循环多执行一次。

    var num = 10;
                
    do{
        console.log(num);//10 9 8 7 6 5 4 3 2 1 0
        num--;
        }while(num>=0);
                
       console.log(num);//-1

     循环的嵌套

          外层循环控制行
          内层循环控制列
          循环的嵌套:解决多行多列的结构
        
    for(var j=1;j<9;j++){
            for(var i=0;i<j+1;i++){
                document.write("*");
            }
            document.write("<br>");
        }

           

           

    遍历方法

    for - in

    for - in语句用于对数组或者对象的属性进行循环操作。

    for - in循环中的代码每执行一次,就会对数组或者对象的属性进行一次操作。

    let obj={'name':'programmer','age':'22','height':'180'};
    for(let i in obj){
        console.log(i,obj[i])
    }

    for - of

     for...of循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符 串。

     JavaScript 原有的for-in循环,只能获得对象的键名,不能直接获取键值。ES6 提供for...of循环,允许遍历获得键值

      数组操作:

     var arr = ['a', 'b', 'c', 'd'];
    
            for (let a in arr) {
              console.log(a); // 0 1 2 3
            }
            
            for (let a of arr) {
              console.log(a); // a b c d
            }

     类似数组的对象操作:

            // 字符串
            var str = "hello";
            
            for (let s of str) {
              console.log(s); // h e l l o
            }
            
            // DOM NodeList对象
            let paras = document.querySelectorAll("p");
            
            for (let p of paras) {
              p.classList.add("test");
            }
            
            // arguments对象
            function printArgs() {
              for (let x of arguments) {
                console.log(x);
              }
            }
            printArgs('a', 'b');// 'a' 'b'

      循环控制语句

          1、break:跳出本层循环,继续执行循环后面的语句。
        如果循环有多层,则break只能跳出一层。
          2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
        ①对与for循环,continue之后执行的语句,是循环变量更新语句i++;
        ②对于while、do-while循环,continue之后执行的语句,是循环条件判断;
        因此,使用这两个循环时,必须将continue放到i++之后使用,否则
    continue将跳过 i++进入死循环。

          

     for(var i=0;i<10;i++){
            if(i == 5){
                break;
            }
            console.log(i);//0,1,2,3,4
        }
    
        for(var i=0;i<10;i++){
            if(i == 5){
                continue;
            }
            console.log(i);//0,1,2,3,4,6,7,8,9
        }


      

  • 相关阅读:
    BZOJ1912 [Apio2010]patrol 巡逻
    BZOJ2432 [Noi2011]兔农
    BZOJ1010 [HNOI2008]玩具装箱toy
    BZOJ3240 [Noi2013]矩阵游戏
    洛谷【P1303】A*B Problem
    洛谷【2142】高精度减法
    洛谷【P1100】高低位交换
    OIer应该知道的二进制知识
    洛谷【P3908】异或之和
    洛谷【P2431】正妹吃月饼
  • 原文地址:https://www.cnblogs.com/zl-light/p/11482005.html
Copyright © 2011-2022 走看看