Hi 🤓 Cảm ơn bạn đã ghé thăm blog này, nếu những bài viết trên blog giúp ích cho bạn. Bạn có thể giúp blog hiển thị quảng cáo bằng cách tạm ngừng ad blocker 😫 và để giúp blog duy trì hoạt động nếu bạn muốn.
Cảm ơn bạn!

JavaScript continue Statement

Câu lệnh continue trong JavaScript được sử dụng để bỏ qua lần lặp hiện tại của vòng lặp và luồng của chương trình sẽ chuyển sang lần lặp tiếp theo.

Cú pháp của câu lệnh continue là:

continue [label];

label là tùy chọn và hiếm khi được sử dụng.

Chúng ta cùng xem qua ví dụ để hiểu rõ hơn nhé:

for (let i = 1; i <= 5; i++) {

    // bỏ qua vòng lặp hiện tại nếu i = 2 hoặc i = 5    
    if (i == 2 || i == 5) {
        continue;
    }

    console.log(i);
}

Kể quả chương trình trên là:

1
3
4

Khi điều kiện dừng lặp (i == 2 || i == 5)true thì continue sẽ thực hiện nhiệm vụ của nó là bỏ qua các lần lặp thứ hai và thứ năm. Điều đó có nghĩa là số 25 sẽ không được in ra.

Câu lệnh continue hầu như luôn được sử dụng với các câu lệnh điều kiện như câu lệnh if ... else.

break vs continue: Câu lệnh break sẽ kết thúc hoàn toàn vòng lặp. Tuy nhiên, câu lệnh continue chỉ bỏ qua lần lặp hiện tại.

Ví dụ sử dụng continue trong vòng lặp while:

// Tính tổng số >= 0 đã nhập vào
// Nếu nhập số âm thì dừng vòng lặp
// Nếu nhập kí tự không phải số thì cho nhập lại

let sum = 0;
let number = 0;

while (number >= 0) {

    sum += number;

    // lấy số vừa nhập gán vào number
    number = parseInt(prompt('Nhập số: '));

    // nếu input không phải số thì chạy code bên dưới
    if (isNaN(number)) {
        console.log('Bạn vừa nhập kí tự không phải số!');
        number = 0; // gán lại number thành 0
        continue; // chuyển sang lần lặp tiếp
    }

}

console.log(`Tổng số bạn vừa nhập là ${sum}.`);

Chúng ta nhập thử số và kí tự không phải số và xem thử kết quả:

Nhập số: 1
Nhập số: 2
Nhập số: 3
Nhập số: homiedev
Bạn vừa nhập kí tự không phải số!
Nhập số: -3
Tổng số bạn vừa nhập là 6.

Khi người dùng nhập một kí tự không phải số, câu lệnh continue sẽ bỏ qua lần lặp hiện tại. Khi đó luồng của chương trình chuyển sang xét điều kiện của vòng lặp while (nếu true thì tiếp tục chạy vòng lặp). Khi người dùng nhập một số âm, vòng lặp kết thúc.

Trong chương trình trên, mình sử dụng method có sẵn của JavaScript isNaN() để kiểm tra xem giá trị mà người dùng nhập vào có phải là số hay không.

Ví dụ: sử dụng continue cho nested loop

Khi continue được sử dụng bên trong hai vòng lặp lồng nhau như dưới đây:

// vòng lặp ngoài
for (let i = 1; i <= 3; i++) {

    // vòng lặp bên trong, có sử dụng continue
    for (let j = 1; j <= 3; j++) {
        if (j == 1) {
          continue;
        }
        console.log(`i = ${i}, j = ${j}`);
    }
}

Lúc này continue bỏ qua lần lặp hiện tại của vòng lặp bên trong. Kết quả ta được:

i = 1, j = 2
i = 1, j = 3
i = 2, j = 2
i = 2, j = 3
i = 3, j = 2
i = 3, j = 3

Trong chương trình trên, khi gặp câu lệnh continue, nó sẽ bỏ qua vòng lặp hiện tại ở vòng lặp bên trong và luồng của chương trình sẽ chuyển đến updateExpression (j++) của vòng lặp bên trong.

Do đó, giá trị của j = 1 sẽ không được in ra.


Hy vọng sau bạn viết này, các bạn sẽ hiểu được lệnh continue trong JavaScript. Hẹn gặp các bạn trong các bạn viết sắp tới nhé 😁😁.

Có thể bạn thích ⚡
homiedev
About Me

Hi, I'm @devnav. Một người thích chia sẻ kiến thức, đặc biệt là về Frontend 🚀. Trang web này được tạo ra nhằm giúp các bạn học Frontend hiệu quả hơn 🎉😄.

Chúc các bạn tìm được kiến thức hữu ích trong blog này 😁😁.