Wiederholungsverarbeitung in JavaScript
In diesem Artikel erklären wir die Wiederholungsverarbeitung in JavaScript.
YouTube Video
Die for
-Anweisung in JavaScript
Grundlegende Syntax
1for (initialization; condition; update) {
2 // Code to repeat
3}
Die for
-Anweisung in JavaScript ist eine Syntax zur Durchführung von Iterationen. Sie führt einen bestimmten Codeblock solange wiederholt aus, wie eine bestimmte Bedingung erfüllt ist. Durch die Verwendung der for
-Anweisung kann derselbe Prozess effizient mehrfach ausgeführt werden.
- Initialisierung (
initialization
): Der Teil, der nur einmal vor dem Start der Schleife ausgeführt wird. Initialisieren Sie Variablen wie den Schleifenzähler. - Bedingung (
condition
): Die Bedingung, die bestimmt, ob die Schleife fortgesetzt wird. Wenntrue
, wird die Schleife fortgesetzt; wennfalse
, endet sie. - Aktualisierung (
update
): Wird am Ende jeder Schleife ausgeführt, um den Schleifenzähler zu aktualisieren.
Beispiel
1for (let i = 0; i < 5; i++) {
2 console.log(i);
3}
In diesem Fall beginnt i
bei 0
, und die Schleife läuft, solange i < 5
true
ist. i++
erhöht i
bei jeder Iteration der Schleife um 1. Als Ergebnis werden die Zahlen von 0
bis 4
angezeigt.
Gültigkeitsbereich des Schleifenzählers
Deklarieren oder initialisieren Sie Variablen im Initialisierungsteil der for
-Anweisung. Hier deklarierte Variablen sind nur innerhalb der Schleife gültig.
1for (let i = 0; i < 3; i++) {
2 console.log(i); // Outputs 0, 1, 2
3}
4console.log(i); // ReferenceError
- Wie in diesem Beispiel gezeigt, führt das Verweisen auf eine Variable außerhalb der
for
-Anweisung zu einem Fehler.
Endlosschleife
Wenn eine Bedingung gesetzt wird, die die Schleife nicht beendet, entsteht eine Endlosschleife. Dies könnte den Browser oder das System belasten, daher ist Vorsicht geboten.
1for (;;) {
2 console.log("Infinite loop");
3 break; // Exits the infinite loop with break
4}
Arrays und die for
-Anweisung
Es ist üblich, die for
-Anweisung zusammen mit Arrays zu verwenden. Es ist praktisch, jedes Element eines Arrays zu verarbeiten.
Beispiel
1let fruits = ["apple", "banana", "cherry"];
2
3for (let i = 0; i < fruits.length; i++) {
4 console.log(fruits[i]);
5}
6// Outputs "apple", "banana", "cherry"
Auf diese Weise können Sie jedes Element eines Arrays mit Indizes verarbeiten.
Andere Schleifenkonstrukte
for...of
-Anweisung
Die for...of
-Anweisung wird für iterierbare Objekte wie Arrays und Strings verwendet.
1let fruits = ["apple", "banana", "cherry"];
2
3for (let fruit of fruits) {
4 console.log(fruit);
5}
6// Outputs "apple", "banana", "cherry"
Dies ermöglicht es Ihnen, jedes Element ohne die Verwendung von Indizes zu verarbeiten.
for...in
-Anweisung
Die for...in
-Anweisung wird verwendet, um über die Eigenschaften eines Objekts zu iterieren.
1let person = { name: "John", age: 30, city: "Tokyo" };
2
3for (let key in person) {
4 console.log(key + ": " + person[key]);
5}
6// Outputs "name: John", "age: 30", "city: Tokyo"
Auf diese Weise können Sie Operationen für jedes Element mit den Schlüsseln durchführen.
Zusammenfassung
- Die
for
-Anweisung ist ein Schleifenkonstrukt mit drei Teilen: Initialisierung, Bedingung und Aktualisierung. - Sie können das Verhalten von Schleifen mit
break
odercontinue
steuern. - In Kombination mit Arrays oder Objekten können Elemente oder Eigenschaften effizient verarbeitet werden.
Die while
-Anweisung in JavaScript
Grundlegende Syntax
1while (condition) {
2 // Code that repeats while the condition is true
3}
Die while
-Anweisung in JavaScript ist eine Schleifenstruktur, die wiederholte Operationen ausführt, solange die angegebene Bedingung true
ist. Ähnlich wie bei der for
-Anweisung gibt die while
-Anweisung nur die Bedingung an.
- Bedingung: Schreiben Sie den Wahrheitsausdruck, der bestimmt, ob die Schleife fortgesetzt wird. Die Schleife läuft weiter, solange sie
true
ist, und endet, wenn siefalse
wird.
Beispiel
1let i = 0;
2
3while (i < 5) {
4 console.log(i);
5 i++;
6}
7console.log(i); // 5
In diesem Beispiel beginnt die Schleife mit der Variablen i
bei 0
und wird ausgeführt, solange i < 5
true
ist. In jeder Schleifeniteration wird i
um 1 erhöht, und wenn i
5
erreicht, wird die Bedingung false
und die Schleife endet. Als Ergebnis zeigt die while
-Anweisung Werte von 0
bis 4
an.
Im Gegensatz zur for
-Anweisung werden bei der while
-Anweisung Initialisierung und Aktualisierung der Variablen als separate Anweisungen geschrieben. Sie können auch nach der while
-Anweisung auf die Variable zugreifen. In diesem Fall wird nach dem Ende der while
-Anweisung 5
angezeigt.
Endlosschleife
Wenn die Bedingung immer true
ist, tritt eine Endlosschleife auf, die nicht endet. Endlosschleifen sollten vermieden werden, aber wenn sie absichtlich verwendet werden, können Sie die Schleife mit einer break
-Anweisung beenden.
Beispiel
1while (true) {
2 console.log("Infinite loop");
3 break; // Ends the loop with `break`
4}
Verarbeitung von Arrays mit einer while
-Schleife
Es ist auch möglich, Arrays mit einer while
-Anweisung zu verarbeiten.
Beispiel
1let fruits = ["apple", "banana", "cherry"];
2let i = 0;
3
4while (i < fruits.length) {
5 console.log(fruits[i]);
6 i++;
7}
8// Outputs "apple", "banana", "cherry"
do...while
-Anweisung
Grundlegende Syntax
1do {
2 // Code that is executed at least once
3} while (condition);
Die do...while
-Anweisung, eine Variante der while
-Anweisung, überprüft die Bedingung, nachdem die Schleife mindestens einmal ausgeführt wurde. Während die while
-Anweisung die Bedingung zuerst überprüft, führt die do...while
-Anweisung den Prozess einmal aus, bevor die Bedingung überprüft wird.
Beispiel
1let i = 0;
2
3do {
4 console.log(i);
5 i++;
6} while (i < 5);
In diesem Beispiel wird i
von 0
bis 4
angezeigt. Die do...while
-Anweisung unterscheidet sich von der while
-Anweisung dadurch, dass sie immer einmal ausgeführt wird, selbst wenn die Bedingung false
ist.
Zusammenfassung
- Die
while
-Anweisung wird verwendet, um Code wiederholt auszuführen, solange die Bedingungtrue
ist. - Beachten Sie die Gefahr von Endlosschleifen, aber Sie können den Schleifenfluss mit
break
undcontinue
steuern. - Die
do...while
-Anweisung ist nützlich, wenn Sie die Schleife mindestens einmal ausführen möchten.
break
und continue
Sie können break
und continue
innerhalb der Schleife verwenden.
break
wird verwendet, um die Schleife vorzeitig zu beenden.continue
überspringt die aktuelle Iteration und fährt mit der nächsten Iteration fort.
Beispiel für break
1for (let i = 0; i < 10; i++) {
2 if (i === 5) {
3 break; // Exits the loop when i is 5
4 }
5 console.log(i);
6}
7// Outputs 0, 1, 2, 3, 4
8
9let i = 0;
10
11while (i < 10) {
12 if (i === 5) {
13 break; // Ends the loop when i is 5
14 }
15 console.log(i++);
16}
17// Outputs 0, 1, 2, 3, 4
In diesem Fall wird break
ausgeführt, wenn i
den Wert 5 erreicht. Als Ergebnis werden die Zahlen von 0
bis 4
angezeigt.
Beispiel für continue
1for (let i = 0; i < 5; i++) {
2 if (i === 2) {
3 continue; // Skips when i is 2
4 }
5 console.log(i);
6}
7// Outputs 0, 1, 3, 4
8
9let i = 0;
10while (i < 5) {
11 i++;
12 if (i === 3) {
13 continue; // Skips when i is 3
14 }
15 console.log(i);
16}
17// Outputs 1, 2, 4, 5
In diesem Fall wird continue
ausgeführt, wenn i
den Wert 2
hat. Dementsprechend werden alle Zahlen außer 2
angezeigt.
Verschachtelte Schleifen in JavaScript
In der JavaScript-Programmierung ist eine verschachtelte Schleife eine Struktur, bei der sich eine Schleife innerhalb einer anderen befindet. Solche Schleifen sind sehr effektiv, wenn spezifische Algorithmen oder Prozesse mehrere Dimensionen oder Ebenen umfassen. Ein typischer Fall ist beispielsweise die Verarbeitung eines mehrdimensionalen Arrays mit Arrays in Arrays.
Hier erklären wir die Grundstruktur von verschachtelten Schleifen, Anwendungsbeispiele, Vorsichtsmaßnahmen und Optimierungsüberlegungen.
Grundstruktur von verschachtelten Schleifen
Die grundlegende Struktur einer geschachtelten Schleife ist eine Form, bei der eine oder mehrere Schleifen in einer anderen Schleife enthalten sind. Jedes Mal, wenn die äußere Schleife einmal ausgeführt wird, wird die innere Schleife so oft ausgeführt.
Nachfolgend finden Sie ein einfaches Beispiel für zwei geschachtelte Schleifen.
1for (let i = 0; i < 3; i++) {
2 console.log(`Outer loop iteration: ${i}`);
3
4 for (let j = 0; j < 2; j++) {
5 console.log(` Inner loop iteration: ${j}`);
6 }
7}
8// Output:
9// Outer loop iteration: 0
10// Inner loop iteration: 0
11// Inner loop iteration: 1
12// Outer loop iteration: 1
13// Inner loop iteration: 0
14// Inner loop iteration: 1
15// Outer loop iteration: 2
16// Inner loop iteration: 0
17// Inner loop iteration: 1
Im obigen Code wird i
in der äußeren Schleife gezählt und j
in der inneren Schleife. Jedes Mal, wenn die äußere Schleife einmal ausgeführt wird, wird die innere Schleife zweimal ausgeführt.
Praktisches Beispiel für geschachtelte Schleifen
Geschachtelte Schleifen sind besonders nützlich für die Verarbeitung von multidimensionalen Arrays. Beispielsweise müssen bei der Verarbeitung eines zweidimensionalen Arrays sowohl die Zeilen (äußere Schleife) als auch die Spalten (innere Schleife) behandelt werden.
Im folgenden Beispiel bearbeiten wir ein zweidimensionales Array und geben jedes Element aus.
1const matrix = [
2 [1, 2, 3],
3 [4, 5, 6],
4 [7, 8, 9]
5];
6
7for (let row = 0; row < matrix.length; row++) {
8 for (let col = 0; col < matrix[row].length; col++) {
9 console.log(`Element at [${row}][${col}] is: ${matrix[row][col]}`);
10 }
11}
12// Output:
13// Element at [0][0] is: 1
14// Element at [0][1] is: 2
15// Element at [0][2] is: 3
16// Element at [1][0] is: 4
17// Element at [1][1] is: 5
18// Element at [1][2] is: 6
19// Element at [2][0] is: 7
20// Element at [2][1] is: 8
21// Element at [2][2] is: 9
Auf diese Weise ermöglichen geschachtelte Schleifen den Zugriff auf jedes Element eines zweidimensionalen Arrays.
Notizen
Beim Einsatz von geschachtelten Schleifen gibt es einige Punkte zu beachten.
-
Leistungsprobleme
Je tiefer geschachtelte Schleifen werden, desto stärker steigt die Ausführungszeit an. Wenn die äußere Schleife beispielsweise 100 Mal und die innere Schleife ebenfalls 100 Mal ausgeführt wird, werden insgesamt 10.000 Operationen durchgeführt. Daher sollten bei vielen Schleifeniterationen Optimierungen zur Effizienzsteigerung in Betracht gezogen werden.
-
Anwendung auf komplexe Algorithmen
Geschachtelte Schleifen sind sehr mächtig, aber wenn die Verarbeitung komplex wird, kann der Code schwer verständlich werden. Um die Lesbarkeit des Codes zu erhalten, ist es daher wichtig, die Verarbeitung mit geeigneten Kommentaren und Funktionen zu strukturieren.
Optimierungsüberlegungen
Beim Einsatz von geschachtelten Schleifen können die folgenden Optimierungen berücksichtigt werden.
-
Frühe Schleifenbeendigung
Wenn eine bestimmte Bedingung innerhalb der Schleife erfüllt ist, können Sie eine
break
-Anweisung verwenden, um die Schleife zu verlassen. Dies kann unnötige Schleifen vermeiden und die Leistung verbessern.
1for (let i = 0; i < 5; i++) {
2 for (let j = 0; j < 5; j++) {
3 if (i + j > 5) {
4 break;
5 }
6 console.log(`i: ${i}, j: ${j}`);
7 }
8}
-
Berechnungen nach außen verschieben
Anstatt dieselbe Berechnung bei jeder Iteration innerhalb der Schleife durchzuführen, können Sie diese einmal außerhalb der Schleife ausführen und das Ergebnis verwenden, um den Prozess effizienter zu gestalten.
1let array = [1, 2, 3, 4, 5];
2
3// Inefficient example (calculating every time)
4for (let i = 0; i < array.length; i++) {
5 for (let j = 0; j < array.length; j++) {
6 let sum = array[i] + array[j];
7 console.log(sum);
8 }
9}
10
11// Efficient example (calculating outside)
12let arrayLength = array.length;
13for (let i = 0; i < arrayLength; i++) {
14 for (let j = 0; j < arrayLength; j++) {
15 let sum = array[i] + array[j];
16 console.log(sum);
17 }
18}
Zusammenfassung
Geschachtelte Schleifen sind sehr nützlich, um komplexe Datenstrukturen und Algorithmen in JavaScript zu verarbeiten. Wenn sie jedoch nicht richtig angewendet werden, können sie zu Leistungseinbußen und einer geringeren Lesbarkeit des Codes führen. Um geschachtelte Schleifen effektiv zu nutzen, ist es wichtig, die Schleifen zu optimieren, den Code gut zu organisieren und je nach Situation geeignete Ansätze zu wählen.
Sie können den obigen Artikel mit Visual Studio Code auf unserem YouTube-Kanal verfolgen. Bitte schauen Sie sich auch den YouTube-Kanal an.