首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js跳出for循环

js跳出for循环

原创
作者头像
IT工作者
修改2022-04-02 13:07:04
修改2022-04-02 13:07:04
15.5K00
代码可运行
举报
文章被收录于专栏:程序技术知识程序技术知识
运行总次数:0
代码可运行

for循环和forEach循环中中断和继续循环有些不一样的要注意

代码语言:javascript
代码运行次数:0
运行
复制

const list = ['a', 'b', 'c']
for (let i = 0; i < list.length; i++) {
  console.log(`${i} ${list[i]}`)
}

如果您想在某个时候中断,比如说到达数组项b时,可以使用break语句:

代码语言:javascript
代码运行次数:0
运行
复制
const list = ['a', 'b', 'c']
for (let i = 0; i < list.length; i++) {
  console.log(`${i} ${list[i]}`)
  if (list[i] === 'b') {
    break
  }
}

你也可以使用break来跳出for…of…循环:

代码语言:javascript
代码运行次数:0
运行
复制
const list = ['a', 'b', 'c']

for (const value of list) {
  console.log(value)
  if (value === 'b') {
    break
  }
}

注意:无法中断forEach循环,因此如果需要跳出循环,请使用for或for..of。

如何跳出for双重循环

但是当我们使用了多层for循环的时候,使用continue和break就无法跳出外层的循环了,所以我们需要使用一些技巧,来跳出外层循环。

1、使用label语句

这种方式很少有人知道,但是必须得记住这种常用的方法。

代码语言:javascript
代码运行次数:0
运行
复制
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);
    }
}

2、定义一个字段用来判断什么时候跳出外层循环

代码语言:javascript
代码运行次数:0
运行
复制
 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语句终止双重循环

代码语言:javascript
代码运行次数:0
运行
复制
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结束当前循环

2、使用数组的some()函数或every()函数替代forEach

3、定义变量条件

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何跳出for双重循环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档