如何优雅的终止多重for 循环

在工作中处理数据时经常用到双重for 循环甚至多重for 循环,那在我们遍历数据过程中想要终止for 循环,如何做到呢?如果使用return 那整个函数就会退出,如果for 循环后面还有需要执行的代码,这种方法就不行了,当然也可以把for 循环单独写在一个函数中,只处理循环数据,for 循环后面没有其他代码,直接return 也行,不过还有另外一种更优雅的结束for 循环的方法,下面看我们的例子:

//需要遍历的数据
const stu = [
  { name: "张三", fruit: ["香蕉", "苹果"] },
  { name: "李四", fruit: ["芒果", "菠萝"] },
  { name: "王五", fruit: ["橘子", "西瓜"] },
  { name: "赵六", fruit: ["菠萝", "桃子"] },
];
//找回第一个爱吃菠萝的同学
function text() {
  let firstName = "";
  loop1:
  for (let i = 0; i < stu.length; i++) {
    loop2:
    for (let j = 0; j < stu[i].fruit.length; j++) {
      if (stu[i].fruit[j] === "菠萝") {
        firstName = stu[i].name;
        console.log("第一个爱吃菠萝的人是:", firstName);
        break loop1;
      }
    }
  }
  console.log("for 循环执行以后的代码--------");
}

text();

使用loop 给我们的for 循环起个名字分别交loop1loop2,当找到需要的数据后使用break loop1结束外层循环
运行代码在控制台打印:

第一个爱吃菠萝的人是: 李四
for 循环执行以后的代码--------

可以看到循环终止了,并且for 循环后面的代码也执行了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容