小元
博客
详情文字在这里缓缓展开
静候你翻开这一页

js 如何退出多重for循环

js面试题和实际应用场景的话题,属于老生常谈了,在多个for循环下如何退出循环。

退出多重for循环


   前言:

       属于老生常谈系列了,不管是实际应用开发还是面试题都是经常出现容易被问起的话题之一了,在此列举出四种方案,希望对各位有所帮助。


   label标签:

// 定义标签为 outerloop

outerloop:

for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 5; j++) {
        if (i === 2 && j === 2) {
        // 当 i 和 j 都为 2 时,跳出 outerloop 标签指定的循环
            break outerloop;
        }
        console.log('i = ' + i + ', j = ' + j);
    }
}

       效果图:

       1720404057867.png


   抛出异常:

       利用try catch,主动抛出异常终止循环。

try {
    for (var i = 0; i < 5; i++) {
        for (var j = 0; j < 5; j++) {
            if (i === 2 && j === 2) {
                throw new Error('Breaking out of loops');
            }
            console.log('i = ' + i + ', j = ' + j);
        }
    }
} catch (e) {
    console.log('退出循环:', e.message);
}

       效果图:

       1720404329548.png


   布尔变量:

       定义一个变量,当变量为true时,退出循环。

let isBreak = false;
for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 5; j++) {
        if (i === 2 && j === 2) {
            isBreak = true;
            break;
        }
        console.log('i = ' + i + ', j = ' + j);
    }
    if (isBreak) {
        break;
    }
}

       效果图:

       1720404573797.png


   函数封装:

       利用函数中的 return 达到退出循环的功能。

function test () {
    for (var i = 0; i < 5; i++) {
        for (var j = 0; j < 5; j++) {
            if (i === 2 && j === 2) {
                return;
            }
            console.log('i = ' + i + ', j = ' + j);
        }
    }
}

       效果图:

       1720404946668.png


   本站所有图片均来自于互联网,若有侵权,请联系删除。

   若您有不同见解或疑惑欢迎您在评论区下方留言讨论。

渝ICP备2024031078号-1
本网站一切内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如无意中侵犯了企业或个人的知识产权等,请及时通过电子邮件(1102905617@qq.com)告知我,本网站将会给予删除。
最新公告
😊访客你好,很高兴你的到来,本博客仍在建设中,还有些许功能尚在开发中,最后祝你在此能有所收获。
💥小元博客第三代自2025年9月上线以来,2026/08/09日迎来了它的第三次更新本次更新内容如下:
1. 文章详情页样式变更,由原来的弹窗改为单独的页面。
2. 使用Nuxt对项目进行了SEO优化,优化了搜索引擎的抓取和索引。
3. 对验签进行了优化,降低了请求被误触发拦截的概率。
4. 移动端也正在稳步推进中,在不久的将来会与大家见面。
5. 修复了首页黄历节日不显示的问题,以及其它bug的修复。