Acest articol va descrie procedura de oprire a buclei forEach în JavaScript.
Cum să opriți JavaScript pentru fiecare?
În funcție de nevoile specifice ale programului, există mai multe modalități de a opri o buclă în programare. De exemplu, puteți utiliza o condiție de terminare a buclei sau o instrucțiune de pauză, cum ar fi „ pauză ' sau ' IEȘIRE ” pentru a opri bucla atunci când este îndeplinită o anumită condiție. Cu toate acestea, problema este aceasta, „ pentru fiecare ” bucla aruncă o eroare în timpul utilizării acestor instrucțiuni.
Exemplul 1: utilizați „break” în forEach JavaScript Loop
Să încercăm să oprim „ pentru fiecare ” buclă folosind “ pauză ' afirmație. Mai întâi, creați o matrice de numere impare:
a fost matrice = [ unu , 3 , 5 , 7 , 9 , unsprezece , 13 , cincisprezece ] ;
Utilizați bucla forEach pentru a repeta matricea. Dacă elementul „ 5 ” apare într-o matrice în timpul iterației, opriți bucla:
matrice. pentru fiecare ( element => {
dacă ( element == 5 ) {
pauză ;
}
} ) ;
Se poate observa că instrucțiunea break nu funcționează în bucla forEach:
Exemplul 2: utilizați „EXIT” în bucla JavaScript forEach
Încercați să opriți bucla folosind „ IEȘIRE „ când elementul „ 5 ” apare într-o matrice în timpul iterației:
matrice. pentru fiecare ( element => {
dacă ( element == 5 ) {
IEȘIRE ;
}
} ) ;
De asemenea, provoacă o eroare:
Oprirea unei bucle forEach() pare a fi o provocare imposibilă, dar iată câteva soluții de evaluat:
Metoda 1: Opriți JavaScript pentru fiecare folosind blocul „try/catch”.
Nu există nicio modalitate încorporată de a opri sau întrerupe o buclă forEach() în JavaScript. Cu toate acestea, puteți obține un efect similar, aruncând o excepție și prinzând-o în buclă. Pentru a face acest lucru, utilizați „ încearcă să prinzi ' bloc. Este o structură de control care vă permite să gestionați excepțiile sau erorile de rulare care pot apărea în cod. Codul care poate provoca o excepție se găsește în „ încerca ”, în timp ce codul care gestionează excepția este conținut în blocul „ captură ' bloc.
Sintaxă
Utilizați sintaxa de mai jos pentru a utiliza blocul try/catch:
încerca {// cod care poate arunca o excepție
} captură ( eroare ) {
// cod pentru a gestiona excepția
}
Exemplu
Înfășurați codul buclei forEach() în blocul try/catch pentru a opri bucla prin gestionarea erorii:
încerca {matrice. pentru fiecare ( element => {
dacă ( element == 5 ) {
arunca nou Excepție ( 'Stop' ) ;
}
} ) ;
} captură ( și ) {
consolă. Buturuga ( „Bucla sa încheiat” ) ;
}
În fragmentul de cod de mai sus, atunci când se aruncă o excepție în blocul try, programul va sări imediat la blocul catch și va executa codul acolo. Acest lucru ne oferă posibilitatea de a gestiona excepția și de a proteja programul împotriva blocării.
Ieșire
În general, nu este recomandat să utilizați un bloc try/catch pentru a opri o buclă forEach() în JavaScript. Acest lucru se datorează faptului că scopul unui bloc try/catch este de a gestiona excepțiile, mai degrabă decât de a controla fluxul unei bucle. Deci, este mai bine să folosiți metode alternative.
Metoda 2: Utilizați bucla „for” în JavaScript
Folosește ' pentru ” buclă în loc de bucla forEach(). Declarația break este utilizată în bucla for, permițând o ieșire anticipată înainte de a fi atinsă condiția de terminare a buclei. Acest lucru poate fi util dacă doriți să opriți bucla atunci când o anumită condiție este evaluată ca „ Adevărat ” sau ieși din buclă pentru orice alt motiv.
Sintaxă
Urmați următoarea sintaxă pentru utilizarea „ pentru ” buclă:
pentru ( lasă-mă = 0 ; i < matrice. lungime ; i ++ ) {//condiție
pauză ;
}
Exemplu
Folosește ' pentru ” buclă pentru a repeta matricea până la lungimea sa și pentru a opri matricea în timp ce apare elementul ” 5 ” într-o matrice:
pentru ( lasă-mă = 0 ; i < matrice. lungime ; i ++ ) {const element = matrice [ i ] ;
dacă ( element == 5 ) {
pauză
}
consolă. Buturuga ( element ) ;
}
Bucla se oprește atunci când „ 5 ” apare într-o matrice:
Metoda 3: Utilizați bucla „for-of” în JavaScript
De asemenea, puteți folosi „ pentru-de ” buclă ca alternativă la bucla forEach(). Este folosit pentru a parcurge elementele unui obiect iterabil, cum ar fi o matrice sau șir. Este similar cu bucla for-in, dar este conceput special pentru a funcționa cu obiecte iterabile și este, în general, considerat mai concis și mai ușor de citit.
Sintaxă
Următoarea sintaxă este utilizată pentru bucla for-of:
pentru ( const element de matrice ) {//condiție
pauză ;
}
Exemplu
Bucla for-of este folosită aici pentru a repeta matricea și pentru a opri iterația atunci când elementul „ 5 ” apare într-o matrice în timpul iterației:
pentru ( const element de matrice ) {dacă ( element == 5 ) {
pauză ;
}
consolă. Buturuga ( element ) ;
}
Ieșire
Acesta este totul despre oprirea buclei forEach() în JavaScript.
Concluzie
Nu există nicio modalitate încorporată de a opri sau întrerupe o buclă forEach() în JavaScript. Dar puteți obține un efect similar folosind „ încearcă să prinzi' bloc. Cu toate acestea, nu se recomandă utilizarea, deoarece un bloc try/catch este pentru a gestiona excepțiile, mai degrabă decât pentru a controla fluxul unei bucle. Deci, abordarea ideală este utilizarea metodelor alternative, cum ar fi „ pentru ' sau ' pentru-de ” buclă. În acest articol, am descris procedura de oprire a buclei forEach() în JavaScript.