Tento článok popisuje postup na zastavenie cyklu forEach v JavaScripte.
Ako zastaviť JavaScript pre každého?
V závislosti od špecifických potrieb programu existuje niekoľko spôsobov, ako zastaviť slučku v programovaní. Môžete napríklad použiť podmienku ukončenia slučky alebo príkaz break, ako napríklad „ prestávka ' alebo ' VÝCHOD ” na zastavenie cyklu, keď je splnená určitá podmienka. Problém je však v tom, že „ pre každý ” pri používaní týchto príkazov vyvolá chybu.
Príklad 1: Použite „prestávku“ v každej slučke JavaScript
Skúsme zastaviť „ pre každý ” slučka pomocou “ prestávka “vyhlásenie. Najprv vytvorte pole nepárnych čísel:
bolo pole = [ jeden , 3 , 5 , 7 , 9 , jedenásť , 13 , pätnásť ] ;
Na iteráciu poľa použite cyklus forEach. Ak prvok „ 5 ” sa vyskytuje v poli počas iterácie, zastavte cyklus:
pole. pre každý ( prvok => {
ak ( prvok == 5 ) {
prestávka ;
}
} ) ;
Je možné vidieť, že príkaz break nefunguje v slučke forEach:
Príklad 2: Použite „EXIT“ v každej slučke JavaScript
Skúste slučku zastaviť pomocou „ VÝCHOD “, keď prvok “ 5 ” sa vyskytuje v poli počas iterácie:
pole. pre každý ( prvok => {
ak ( prvok == 5 ) {
VÝCHOD ;
}
} ) ;
Spôsobuje tiež chybu:
Zastavenie cyklu forEach() sa javí ako nemožná výzva, ale tu je niekoľko riešení na vyhodnotenie:
Metóda 1: Zastavte JavaScript pre každé použitie bloku „vyskúšať / chytiť“.
Neexistuje žiadny vstavaný spôsob, ako zastaviť alebo prerušiť slučku forEach() v JavaScripte. Podobný efekt však môžete dosiahnuť vyhodením výnimky a jej zachytením v rámci slučky. Ak to chcete urobiť, použite „ Skús chytiť “blok. Je to riadiaca štruktúra, ktorá vám umožňuje spracovávať výnimky alebo chyby behu, ktoré sa môžu vyskytnúť v kóde. Kód, ktorý môže spôsobiť výnimku, sa nachádza v „ skúste “, zatiaľ čo kód, ktorý spracováva výnimku, je obsiahnutý v “ chytiť “blok.
Syntax
Na použitie bloku try/catch použite nižšie uvedenú syntax:
skúste {// kód, ktorý môže vyvolať výnimku
} chytiť ( chyba ) {
// kód na spracovanie výnimky
}
Príklad
Zabaľte kód slučky forEach() do bloku try/catch, aby ste slučku zastavili spracovaním chyby:
skúste {pole. pre každý ( prvok => {
ak ( prvok == 5 ) {
hodiť Nový Výnimka ( 'stop' ) ;
}
} ) ;
} chytiť ( a ) {
konzoly. log ( 'Slučka sa skončila' ) ;
}
Vo vyššie uvedenom úryvku kódu, keď je v bloku try vyvolaná výnimka, program okamžite preskočí na blok catch a tam vykoná kód. To nám dáva možnosť spravovať výnimku a chrániť program pred zlyhaním.
Výkon
Vo všeobecnosti sa neodporúča používať blok try/catch na zastavenie cyklu forEach() v JavaScripte. Dôvodom je to, že účelom bloku try/catch je skôr spracovávať výnimky ako riadiť tok slučky. Preto je lepšie použiť alternatívne metódy.
Metóda 2: Použite slučku „for“ v JavaScripte
Použi ' pre ” namiesto cyklu forEach(). Príkaz break sa používa v slučke for, čo umožňuje skoré ukončenie pred dosiahnutím podmienky ukončenia slučky. To môže byť užitočné, ak chcete zastaviť cyklus, keď je určitá podmienka vyhodnotená ako „ pravda ” alebo opustiť slučku z akéhokoľvek iného dôvodu.
Syntax
Postupujte podľa nasledujúcej syntaxe pre použitie „ pre ” slučka:
pre ( nech ja = 0 ; i < pole. dĺžka ; i ++ ) {//podmienka
prestávka ;
}
Príklad
Použi ' pre ” slučka na iteráciu poľa až do jeho dĺžky a zastavenie poľa pri výskyte prvku “ 5 “v poli:
pre ( nech ja = 0 ; i < pole. dĺžka ; i ++ ) {konšt prvok = pole [ i ] ;
ak ( prvok == 5 ) {
prestávka
}
konzoly. log ( prvok ) ;
}
Slučka sa zastaví, keď „ 5 “ sa objaví v poli:
Metóda 3: Použite slučku „for-of“ v JavaScripte
Môžete tiež použiť „ pre-z ” cyklus ako alternatíva k cyklu forEach(). Používa sa na zacyklenie prvkov iterovateľného objektu, ako je pole alebo reťazec. Je podobná slučke for-in, ale je špeciálne navrhnutá na prácu s opakovateľnými objektmi a vo všeobecnosti sa považuje za stručnejšiu a ľahšie čitateľnú.
Syntax
Pre cyklus for-of sa používa nasledujúca syntax:
pre ( konšt prvok poľa ) {//podmienka
prestávka ;
}
Príklad
Cyklus for-of sa tu používa na iteráciu poľa a zastavenie iterácie, keď prvok „ 5 ” sa objaví v poli počas iterácie:
pre ( konšt prvok poľa ) {ak ( prvok == 5 ) {
prestávka ;
}
konzoly. log ( prvok ) ;
}
Výkon
To je všetko o zastavení cyklu forEach() v JavaScripte.
Záver
Neexistuje žiadny vstavaný spôsob, ako zastaviť alebo prerušiť slučku forEach() v JavaScripte. Ale podobný efekt môžete dosiahnuť pomocou „ Skús chytiť' blokovať. Neodporúča sa to však používať, pretože blok try/catch slúži skôr na spracovanie výnimiek ako na riadenie toku slučky. Ideálnym prístupom je teda využitie alternatívnych metód, ako napr. pre ' alebo ' pre-z “slučka. V tomto článku sme opísali postup na zastavenie cyklu forEach() v JavaScripte.