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.