紀錄工作經驗、相關知識,解決技術相關問題。

Javascript, React, 新手 Jamp Holes, 網站相關

JavaScript continue 用法教學:在 for 與 while 迴圈跳過當前迭代

JavaScript continue 用法教學:在 for 與 while 迴圈跳過當前迭代 特色圖片

在 JavaScript 開發中,continue 語句是用於控制迴圈流程的關鍵工具。當程式執行到 continue 時,該次迴圈迭代中位於其後的程式碼將會被忽略,程式會直接進入下一次的迭代判斷。這對於過濾無效數據或跳過特定條件的處理邏輯非常實用。

continue 與 break 規格對照

在迴圈控制中,開發者常會混淆 continue 與 break 的用途,以下為兩者的核心差異對照:

特性continuebreak
執行行為跳過當前迭代,進入下一次立即終止整個迴圈執行
迴圈狀態迴圈繼續執行迴圈完全停止
適用場景僅需略過特定條件的項目找到目標或發生錯誤時停止

在 for 迴圈中的應用

在 for 迴圈中使用 continue,最常見的情境是過濾掉不需要處理的數值。當條件滿足時,透過 continue 略過後續的 console.log 輸出。

範例:使用 continue 篩選奇數

在此範例中,當變數 i 為偶數時,continue 會觸發,直接跳過後方的輸出指令。

for (let i = 1; i <= 10; i++) {
    // 若 i 為偶數,跳過本次迭代
    if (i % 2 === 0) {
        continue; 
    }
    console.log(i); // 僅輸出奇數
}

在 while 迴圈中的應用

在 while 迴圈中使用 continue 時,務必注意變數更新(如 num++)的位置。若 continue 寫在變數更新之前,可能會導致無窮迴圈。

範例:在 while 迴圈中跳過偶數

為了避免無窮迴圈,我們在執行 continue 之前,必須先手動增加變數值。

let num = 1;

while (num <= 10) {
    if (num % 2 === 0) {
        num++; // 必須先更新變數,否則會進入無窮迴圈
        continue; 
    }
    console.log(num); // 輸出奇數
    num++;
}

嵌套迴圈與標籤語句 (Label)

預設情況下,continue 只會影響當前所在的內層迴圈。若需要跳過外層迴圈的迭代,則必須搭配「標籤語句 (Label)」來指定目標。

範例:使用 Label 跳過外層迴圈

透過 outerLoop 標籤,當內層條件滿足時,可以直接跳轉到外層迴圈的下一次迭代。

outerLoop: for (let i = 0; i < 3; i++) {
    for (let j = 0; j < 3; j++) {
        if (j === 1) {
            // 跳過外層迴圈的當前迭代
            continue outerLoop; 
        }
        console.log(`i = ${i}, j = ${j}`);
    }
}

使用場景與建議

  • 數據過濾:當處理陣列或物件集合時,若遇到無效資料(如 null 或 undefined),使用 continue 可以讓邏輯層次更清晰,避免過深的 if-else 巢狀結構。
  • 提升可讀性:在複雜的業務邏輯中,將「排除條件」寫在函式或迴圈開頭,並配合 continue,能有效減少程式碼的縮排深度,提高維護性。

continue 語句是控制迴圈流向的基礎,靈活運用能讓你的程式碼邏輯更為精簡。在處理大量數據迭代時,適度使用此語法能有效提升程式碼的可讀性。

參考資料與延伸閱讀

發表迴響