przerywanie pętli w JS

O przerywaniu pętli słów kilka

Mam dla Was taki drobiazg. Bo w sumie pierwotnie celem tego bloga było pisanie właśnie o drobiazgach. Mam dla Was dosyć rzadką praktykę wśród programistów wszechinternetów. Na co dzień raczej się z nią nie spotykamy. Na pewno kojarzysz instrukcję break i raczej kojarzy ci się z przerywaniem pętli switch. Mało kto wie, że możemy ją także wykorzystać do przerwania pętli for!


Popatrzmy sobie na składnię instrukcji break:

break [label]

I jak to teraz interpretować?

Label to opcjonalny parametr, który oznacza etykietę pętli, którą chcemy przerwać. Etykieta to dowolna nazwa pętli (jednocześnie poprawna zmienna) z dwukropkiem.

Otóż kiedy używamy samej instrukcji break (bez etykiety) to przerywamy switch (ofkors) lub najgłębszą, obecnie wykonywaną instrukcję for, while, do-while, a następnie kontynuujemy wykonywanie programu od miejsca za pętlą.

Kiedy używamy break z etykietą, to przerywamy specyficzną instrukcję  for, while, do-while o nazwie tej etykiety.

Prosta teoria, prosty przykład.

for (let i = 1; i < 10; i++) {
    if (i == 6) {
        break;
    }
    console.log(i); // 1 2 3 4 5 
}
Outer:
for (let i = 1; i < 10; i++) {
    console.log("i: " + i); 
    console.log(" j: "); 
    Inner: 
    for (let j = 1; j < 10; j++) { 
        if (j == 3) { 
            break Inner; 
        } 
        console.log(j + " "); 
    } 
} 
// Console: 
// i: 1 j: 1 2 
// i: 2 j: 1 2 
// i: 3 j: 1 2 
// i: 4 j: 1 2 
// i: 5 j: 1 2 
// i: 6 j: 1 2 
// i: 7 j: 1 2 
// i: 8 j: 1 2 
// i: 9 j: 1 2

Skoro mówimy o break, to warto też wspomnieć o continue. Ta instrukcja z kolei powoduje przejście do następnej iteracji pętli.

for (let i = 0; i < 10; i++) {
    if (i % 2 != 0)
        continue;
    console.log(i); // 0 2 4 6 8
}

A teraz powiedzcie, czy mi się zdaje, czy przerywanie pętli breakiem jest jakoś mało popularne? Dlaczego? Czy, w kontekście pętli for, instrukcja break to po prostu bezużyteczna konstrukcja, która nie ma swojego praktycznego zastosowania w życiu?

Żródła: KLIK!KLIK!.

Artykuły, które mogą Ci się spodobać...

Wpisz hasło, którego szukasz i naciśnij ENTER, aby je wyszukać. Naciśnij ESC, aby anulować.

Dawaj na górę