如何優(yōu)雅的終止多重for 循環(huán)

在工作中處理數(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)起個名字分別交loop1loop2,當(dāng)找到需要的數(shù)據(jù)后使用break loop1結(jié)束外層循環(huán)
運行代碼在控制臺打?。?/p>

第一個愛吃菠蘿的人是: 李四
for 循環(huán)執(zhí)行以后的代碼--------

可以看到循環(huán)終止了,并且for 循環(huán)后面的代碼也執(zhí)行了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容