640 Stimmen

Was ist der beste Weg, um aus verschachtelten Schleifen in JavaScript zu brechen?

Was ist der beste Weg, um aus verschachtelten Schleifen in Javascript zu brechen?

//Write the links to the page.
for (var x = 0; x < Args.length; x++)
{
   for (var Heading in Navigation.Headings)
   {
      for (var Item in Navigation.Headings[Heading])
      {
         if (Args[x] == Navigation.Headings[Heading][Item].Name)
         {
            document.write("<a href=\"" 
               + Navigation.Headings[Heading][Item].URL + "\">" 
               + Navigation.Headings[Heading][Item].Name + "</a> : ");
            break; // <---HERE, I need to break out of two loops.
         }
      }
   }
}

0 Stimmen

Hier ist ein gutes Beispiel für den Ausbruch aus Schleifen und Codeblöcken: marcin-chwedczuk.github.io/

-3voto

Triqui Punkte 55
XXX.Validation = function() {
    var ok = false;
loop:
    do {
        for (...) {
            while (...) {
                if (...) {
                    break loop; // Exist the outermost do-while loop
                }
                if (...) {
                    continue; // skips current iteration in the while loop
                }
            }
        }
        if (...) {
            break loop;
        }
        if (...) {
            break loop;
        }
        if (...) {
            break loop;
        }
        if (...) {
            break loop;
        }
        ok = true;
        break;
    } while(true);
    CleanupAndCallbackBeforeReturning(ok);
    return ok;
};

9 Stimmen

Das sieht noch verwirrender aus als das Original.

0 Stimmen

Nach oben gestimmt, weil ein "do while" für diese Art von Szenario besser geeignet ist (in den meisten Fällen).

-5voto

Deepak Karma Punkte 11

Der beste Weg ist -
1) Sortieren Sie die beiden Arrays, die in der ersten und zweiten Schleife verwendet werden.
2) Wenn das Element übereinstimmt, wird die innere Schleife unterbrochen und der Indexwert gespeichert.
3) Beim Start der nächsten Iteration beginnt die innere Schleife mit dem Halten des Indexwertes.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X