Heim >Web-Frontend >js-Tutorial >Stoppt „return' die Iteration einer „forEach'-Schleife?

Stoppt „return' die Iteration einer „forEach'-Schleife?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-26 18:13:09281Durchsuche

Does `return` Stop a `forEach` Loop's Iteration?

Wie wirkt sich die Rückgabe auf die Iteration der forEach-Funktion aus?

Bei Verwendung der forEach-Funktion können Sie damit rechnen, dass die Rückgabe eines falschen Werts ausbricht der Schleife und stoppt weitere Iterationen. Dies ist jedoch nicht der Fall.

Die Bedeutung von return in forEach

In der forEach-Funktion funktioniert das Schlüsselwort return anders als in anderen Schleifen. Anstatt die gesamte Schleife zu stoppen, wird nur das Ergebnis der aktuellen Iteration zurückgegeben.

Beispiel:

Bedenken Sie den folgenden JavaScript-Code:

$('button').click(function () {
   [1, 2, 3, 4, 5].forEach(function (n) {
      if (n == 3) {
         // it should break out here and doesn't alert anything after
         return false
      }
      alert(n)      
   })
})

Erklärung:

Wenn die Iteratorfunktion auf n == trifft 3, es gibt false zurück. Dies beendet nicht die gesamte Schleife, sondern zeigt vielmehr an, dass die aktuelle Iteration „false“ zurückgeben sollte.

Warum die Iteration fortgesetzt wird:

Die Funktion „forEach“ ignoriert den zurückgegebenen Wert und fährt fort Durchlaufen der verbleibenden Array-Elemente. Dies liegt daran, dass forEach so konzipiert ist, dass es unabhängig von den Ergebnissen der Iteratorfunktion über das gesamte Array iteriert.

Alternative Schleifenoptionen:

Wenn Sie ausbrechen müssen Wenn Sie eine Schleife bedingt ausführen möchten, sollten Sie alternative Schleifenmethoden in Betracht ziehen, z. B.:

  • Einfach Schleife
  • for...of Schleife
  • Array.prototype.every()
  • Array.prototype.some()
  • Array.prototype.find ()
  • Array.prototype.findIndex()

Das obige ist der detaillierte Inhalt vonStoppt „return' die Iteration einer „forEach'-Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn