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

2022-08-20  本文已影响0人  伊路顺峰

在工作中处理数据时经常用到双重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 循环后面的代码也执行了。

上一篇 下一篇

猜你喜欢

热点阅读