在工作中處理數(shù)據(jù)時經(jīng)常用到雙重for 循環(huán)甚至多重for 循環(huán),那在我們遍歷數(shù)據(jù)過程中想要終止for 循環(huán),如何做到呢?如果使用return 那整個函數(shù)就會退出,如果for 循環(huán)后面還有需要執(zhí)行的代碼,這種方法就不行了,當(dāng)然也可以把for 循環(huán)單獨寫在一個函數(shù)中,只處理循環(huán)數(shù)據(jù),for 循環(huán)后面沒有其他代碼,直接return 也行,不過還有另外一種更優(yōu)雅的結(jié)束for 循環(huán)的方法,下面看我們的例子:
//需要遍歷的數(shù)據(jù)
const stu = [
{ name: "張三", fruit: ["香蕉", "蘋果"] },
{ name: "李四", fruit: ["芒果", "菠蘿"] },
{ name: "王五", fruit: ["橘子", "西瓜"] },
{ name: "趙六", fruit: ["菠蘿", "桃子"] },
];
//找回第一個愛吃菠蘿的同學(xué)
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 循環(huán)執(zhí)行以后的代碼--------");
}
text();
使用loop 給我們的for 循環(huán)起個名字分別交loop1 和 loop2,當(dāng)找到需要的數(shù)據(jù)后使用break loop1結(jié)束外層循環(huán)
運行代碼在控制臺打?。?/p>
第一個愛吃菠蘿的人是: 李四
for 循環(huán)執(zhí)行以后的代碼--------
可以看到循環(huán)終止了,并且for 循環(huán)后面的代碼也執(zhí)行了。