JavaScript如何跳出for循环 |
您所在的位置:网站首页 › for语句跳出循环的条件 › JavaScript如何跳出for循环 |
前言:
在实际写for循环去遍历数组的时候,当我们找到满足某个条件的数据并且为了节约浏览器的性能,免不了有要结束for循环的需求,以下是常见的跳出for循环的方法。 如何跳出for单循环1、终止for单循环使用break var array = [1,2,3,4,5]; for (let index = 0; index < array.length; index++) { const element = array[index]; console.log(element); if (element==3) { break; } }打印出的结果为1,2,3,当满足3这个条件时终止循环语句。 2、结束当前循环,进入下个循环时使用continue var array = [1,2,3,4,5]; for (let index = 0; index < array.length; index++) { const element = array[index]; if (element==3) { continue; } console.log(element); }打印出的结果为1,2,4,5,当满足3这个条件时跳出当前循环,不执行continue后面的语句,转而执行下个循环。 3、当循环语句写在函数中时直接用return语句终止循环,作用相当于break var func = function() { var array = [1,2,3,4,5]; for (let index = 0; index < array.length; index++) { const element = array[index]; console.log(element); if (element==3) { return; } } } func();打印出的结果为1,2,3,当满足3这个条件时终止循环语句。 如何跳出for双重循环但是当我们使用了多层for循环的时候,使用continue和break就无法跳出外层的循环了,所以我们需要使用一些技巧,来跳出外层循环。 1、使用label语句 这种方式很少有人知道,但是必须得记住这种常用的方法。 var array = [1,2,3,4,5]; jump: for (let i = 0; i < array.length; i++) { for (let j = 0; j < array.length; j++) { if (i==2&&j==2) { break jump; } console.log(i , j); } }打印出的结果如图所示,当满足i==j==2时终止了双重循环。 2、定义一个字段用来判断什么时候跳出外层循环 var array = [1,2,3,4,5]; var flag = false; // 为true时说明需要跳出外层循环 for (let i = 0; i < array.length; i++) { for (let j = 0; j < array.length; j++) { if (i==2&&j==2) { flag = true; break; } console.log(i,j); } if (flag) { break; } }打印出的结果和1中的结果一样。 3、当循环语句写在函数中时直接用return语句终止双重循环 var array = [1,2,3,4,5]; var func = function() { for (let i = 0; i < array.length; i++) { for (let j = 0; j < array.length; j++) { if (i==2&&j==2) { return; } console.log(i,j); } } } func();打印出的结果和1中的结果一样,这里使用retun跳出函数,同时也跳出循环语句。 如何跳出forEach循环首先需要注意的是在forEach中不能使用continue和break,否则会报如下错误。 1、使用retun结束当前循环 var array = [1,2,3,4,5]; array.forEach((el,i)=>{ if (el==3) { return; } console.log(el); })打印出的结果为1,2,4,5,当满足3这个条件时跳出当前循环,不执行return后面的语句,转而执行下个循环,其作用相当于for循环里使用continue。 2、使用数组的some()函数或every()函数替代forEach
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |