Hoe JavaScript voor elk te stoppen?

Hoe Javascript Voor Elk Te Stoppen



Lussen zijn cruciale besturingsstructuren bij het programmeren omdat ze je in staat stellen een codeblok meerdere keren uit te voeren. Het is echter belangrijk om de lus op een gegeven moment te stoppen; anders zal het voor onbepaalde tijd blijven lopen. Dit kan tot problemen leiden, zoals het gebruik van de beschikbare bronnen op een computer of het laten crashen van programma's.

Dit artikel beschrijft de procedure voor het stoppen van de forEach-lus in JavaScript.

Hoe JavaScript voor elk te stoppen?

Afhankelijk van de specifieke behoeften van het programma, zijn er verschillende manieren om een ​​lus in de programmering te stoppen. U kunt bijvoorbeeld een lusbeëindigingsvoorwaarde of een break-instructie gebruiken, zoals ' pauze ' of de ' UITGANG ” om de lus te stoppen wanneer aan een bepaalde voorwaarde is voldaan. Het probleem is echter dit, de ' voor elk ” lus genereert een fout tijdens het gebruik van deze instructies.







Voorbeeld 1: gebruik 'break' in forElke JavaScript-lus

Laten we proberen de ' voor elk ' lus met behulp van de ' pauze ' uitspraak. Maak eerst een reeks oneven getallen:



was array = [ een , 3 , 5 , 7 , 9 , elf , 13 , vijftien ] ;

Gebruik de forEach-lus om de array te herhalen. Als het onderdeel “ 5 ” optreedt in een array tijdens iteratie, stop de lus:



reeks. voor elk ( element => {

als ( element == 5 ) {

pauze ;

}

} ) ;

Het is te zien dat de break-instructie niet werkt in de forEach-lus:





Voorbeeld 2: gebruik 'EXIT' in voor elke JavaScript-lus

Probeer de lus te stoppen met ' UITGANG ” wanneer het element “ 5 ” komt voor in een array tijdens iteratie:



reeks. voor elk ( element => {

als ( element == 5 ) {

UITGANG ;

}

} ) ;

Het veroorzaakt ook een fout:

Het stoppen van een forEach()-lus lijkt een onmogelijke uitdaging, maar hier zijn een paar oplossingen om te evalueren:

Methode 1: Stop JavaScript voor elk met behulp van het 'try/catch'-blok

Er is geen ingebouwde manier om een ​​forEach()-lus in JavaScript te stoppen of te verbreken. U kunt echter een soortgelijk effect bereiken door een uitzondering te genereren en deze binnen de lus te vangen. Gebruik hiervoor de ' proberen te vangen ” blok. Het is een besturingsstructuur waarmee u uitzonderingen of runtime-fouten kunt afhandelen die in code kunnen voorkomen. De code die een uitzondering kan veroorzaken, is te vinden in de ' proberen ”-blok, terwijl de code die de uitzondering afhandelt, is opgenomen in het “ vangst ” blok.

Syntaxis

Gebruik de onderstaande syntaxis voor het gebruik van het try/catch-blok:

proberen {

// code die een uitzondering kan genereren

} vangst ( fout ) {

// code om de uitzondering af te handelen

}

Voorbeeld

Wikkel de luscode forEach() in het try/catch-blok om de lus te stoppen door de fout op te lossen:

proberen {

reeks. voor elk ( element => {

als ( element == 5 ) {

Gooi nieuwe Uitzondering ( 'beëindigen' ) ;

}

} ) ;

} vangst ( en ) {

troosten. loggen ( 'Loop is afgelopen' ) ;

}

Als er in het bovenstaande codefragment een uitzondering wordt gegenereerd binnen het try-blok, springt het programma onmiddellijk naar het catch-blok en voert de code daar uit. Dit geeft ons de mogelijkheid om de uitzondering te beheren en het programma te beschermen tegen crashen.

Uitgang

Het wordt over het algemeen niet aanbevolen om een ​​try/catch-blok te gebruiken om een ​​forEach()-lus in JavaScript te stoppen. Dit komt omdat het doel van een try/catch-blok is om uitzonderingen af ​​te handelen in plaats van de stroom van een lus te regelen. Het is dus beter om alternatieve methoden te gebruiken.

Methode 2: Gebruik de 'for' -lus in JavaScript

Gebruik de ' voor '-lus in plaats van de forEach()-lus. De break-instructie wordt gebruikt in de for-lus, waardoor een vroege exit mogelijk is voordat de lusbeëindigingsvoorwaarde is bereikt. Dit kan handig zijn als u de lus wilt stoppen wanneer een bepaalde voorwaarde wordt geëvalueerd als ' WAAR ” of verlaat de lus om een ​​andere reden.

Syntaxis

Volg de volgende syntaxis voor het gebruik van de ' voor ” lus:

voor ( laat ik = 0 ; i < reeks. lengte ; i ++ ) {

//voorwaarde

pauze ;

}

Voorbeeld

Gebruik de ' voor ” lus om de array te herhalen tot zijn lengte en stop de array terwijl het element “ 5 ” in een array:

voor ( laat ik = 0 ; i < reeks. lengte ; i ++ ) {

const element = reeks [ i ] ;

als ( element == 5 ) {

pauze

}

troosten. loggen ( element ) ;

}

De lus stopt wanneer de ' 5 ” verschijnt in een array:

Methode 3: Gebruik de 'for-of' -lus in JavaScript

U kunt ook de ' voor-van ”-lus als alternatief voor de forEach()-lus. Het wordt gebruikt om de elementen van een itereerbaar object, zoals een array of string, door te lussen. Het is vergelijkbaar met de for-in-lus, maar is specifiek ontworpen om te werken met itereerbare objecten en wordt over het algemeen als beknopter en gemakkelijker te lezen beschouwd.

Syntaxis

De volgende syntaxis wordt gebruikt voor de for-of-lus:

voor ( const element van array ) {

//voorwaarde

pauze ;

}

Voorbeeld

De for-of-lus wordt hier gebruikt om de array te herhalen en de iteratie te stoppen wanneer het element ' 5 ” verschijnt in een array tijdens iteratie:

voor ( const element van array ) {

als ( element == 5 ) {

pauze ;

}

troosten. loggen ( element ) ;

}

Uitgang

Dat is alles over het stoppen van de forEach() lus in JavaScript.

Gevolgtrekking

Er is geen ingebouwde manier om een ​​forEach()-lus in JavaScript te stoppen of te verbreken. Maar u kunt een soortgelijk effect bereiken met de ' proberen te vangen' blok. Het wordt echter niet aanbevolen om het te gebruiken, omdat een try/catch-blok bedoeld is om uitzonderingen af ​​te handelen in plaats van de stroom van een lus te regelen. De ideale benadering is dus om alternatieve methoden te gebruiken, zoals de ' voor ' of de ' voor-van ” lus. In dit artikel hebben we de procedure beschreven voor het stoppen van de forEach()-lus in JavaScript.