js 语句label标签 使用方法

outerloop:
    for (var i = 0; i < 10; i++) {
        innerloop:
        for (var j = 0; j < 10; j++) {
            if (j > 3) {
                break; //默认跳出最近的for 等同 break innerloop;
            }
            if (i == 2) {
                break innerloop;
            }
            if (i == 4) {
                break outerloop;
            }
           console.log("i=" + i + " j=" + j + "\n");
        }
    }

打印结果:
 i=0 j=0

 i=0 j=1

 i=0 j=2

 i=0 j=3

 i=1 j=0

 i=1 j=1

 i=1 j=2

 i=1 j=3

 i=3 j=0

 i=3 j=1

 i=3 j=2

 i=3 j=3

注意i==4时候 跳出outerloop外循环,j>3时跳过本次innerloop内循环
label标签使用场景实例:

复制数组data的真性值3次,插入到新素组data2  并且过滤data内等于8的值 不进行复制

//使用label标签写法
function fn(){
        let data=[1,2,false,3,,4,5,null,8,9]
        let data2=[];
        lab:for(let i=0;i<data.length;i++){
            if(!data[i]) continue;
            for(let o=0;o<3;o++){
                if(data[i]===8) continue lab;
                data2.push(data[i])
            }
            console.log(data[i])
        }
        console.log(data2)
     }

//常规不使用label 写法
 function fn() {
      let data = [1, 2, false, 3, , 4, 5, null, 8, 9]
      let data2 = [];
      data.forEach((value, index) => {
        if(value&&value!==8){
          for(let i=0;i<3;i++){
            data2.push(value)
          }
        }
      })
      console.log(data2)
    }

 

posted @ 2021-09-09 14:07  暴燥的小蓝鲸  阅读(580)  评论(0)    收藏  举报