在工作中处理数据时经常用到双重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
循环起个名字分别交loop1
和 loop2
,当找到需要的数据后使用break loop1
结束外层循环
运行代码在控制台打印:
第一个爱吃菠萝的人是: 李四
for 循环执行以后的代码--------
可以看到循环终止了,并且for 循环后面的代码也执行了。
网友评论