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) }