Kā apturēt JavaScript forEach?

Ka Apturet Javascript Foreach



Cilpas ir būtiskas programmēšanas vadības struktūras, jo tās ļauj vairākas reizes izpildīt koda bloku. Tomēr ir svarīgi kādā brīdī apturēt cilpu; pretējā gadījumā tas turpinās darboties bezgalīgi. Tas var radīt problēmas, piemēram, izmantot datorā pieejamos resursus vai izraisīt programmu avāriju.

Šajā rakstā ir aprakstīta procedūra forEach cilpas apturēšanai JavaScript.

Kā apturēt JavaScript forEach?

Atkarībā no programmas īpašajām vajadzībām ir vairāki veidi, kā apturēt programmēšanas cilpu. Piemēram, varat izmantot cilpas beigu nosacījumu vai pārtraukuma paziņojumu, piemēram, ' pārtraukums ' vai ' IZEJA ”, lai apturētu cilpu, kad ir izpildīts noteikts nosacījums. Tomēr problēma ir tāda, ka ' katram ” cilpa rada kļūdu, lietojot šos paziņojumus.







1. piemērs. ForEach JavaScript cilpā izmantojiet “break”.

Mēģināsim apturēt ' katram ' cilpa, izmantojot ' pārtraukums ' paziņojums, apgalvojums. Vispirms izveidojiet nepāra skaitļu masīvu:



bija masīvs = [ viens , 3 , 5 , 7 , 9 , vienpadsmit , 13 , piecpadsmit ] ;

Izmantojiet forEach cilpu, lai atkārtotu masīvu. Ja elements ' 5 ” notiek masīvā iterācijas laikā, apturiet cilpu:



masīvs. katram ( elements => {

ja ( elements == 5 ) {

pārtraukums ;

}

} ) ;

Var redzēt, ka pārtraukuma paziņojums nedarbojas forEach cilpā:





2. piemērs: katrā JavaScript cilpā izmantojiet “EXIT”.

Mēģiniet apturēt cilpu, izmantojot ' IZEJA ', kad elements ' 5 ” notiek masīvā iterācijas laikā:



masīvs. katram ( elements => {

ja ( elements == 5 ) {

IZEJA ;

}

} ) ;

Tas rada arī kļūdu:

Šķiet, ka forEach() cilpas apturēšana ir neiespējams izaicinājums, taču šeit ir daži izvērtējami risinājumi:

1. metode: apturiet JavaScript forEach, izmantojot “izmēģināt/ķert” bloku

JavaScript nav iebūvēts veids, kā apturēt vai pārtraukt forEach() cilpu. Tomēr līdzīgu efektu var panākt, izmetot izņēmumu un noķerot to cilpas ietvaros. Lai to izdarītu, izmantojiet ' mēģināt/noķert ' bloķēt. Tā ir vadības struktūra, kas ļauj apstrādāt izņēmumus vai izpildlaika kļūdas, kas var rasties kodā. Kods, kas var izraisīt izņēmumu, ir atrodams ' mēģināt ” blokā, savukārt kods, kas apstrādā izņēmumu, ir ietverts “ noķert ' bloķēt.

Sintakse

Lai izmantotu try/catch bloku, izmantojiet tālāk norādīto sintaksi:

mēģināt {

// kods, kas var radīt izņēmumu

} noķert ( kļūda ) {

// kods, lai apstrādātu izņēmumu

}

Piemērs

Aptiniet forEach() cilpas kodu try/catch blokā, lai apturētu cilpu, apstrādājot kļūdu:

mēģināt {

masīvs. katram ( elements => {

ja ( elements == 5 ) {

mest jauns Izņēmums ( 'stop' ) ;

}

} ) ;

} noķert ( un ) {

konsole. žurnāls ( 'Cilpa ir beigusies' ) ;

}

Iepriekš minētajā koda fragmentā, kad try blokā tiek izmests izņēmums, programma nekavējoties pāries uz noķeršanas bloku un izpildīs kodu tur. Tas dod mums iespēju pārvaldīt izņēmumu un aizsargāt programmu no avārijām.

Izvade

Parasti nav ieteicams izmantot try/catch bloku, lai apturētu forEach() cilpu JavaScript. Tas ir tāpēc, ka mēģinājuma/tveršanas bloka mērķis ir apstrādāt izņēmumus, nevis kontrolēt cilpas plūsmu. Tāpēc labāk ir izmantot alternatīvas metodes.

2. metode: izmantojiet JavaScript cilpu “for”.

Izmantojiet ' priekš ” cilpa forEach() cilpas vietā. Pārtraukuma paziņojums tiek izmantots for cilpā, ļaujot priekšlaicīgi iziet, pirms tiek sasniegts cilpas beigu nosacījums. Tas var būt noderīgi, ja vēlaties apturēt cilpu, kad noteikts nosacījums tiek novērtēts kā ' taisnība ” vai iziet no cilpas kāda cita iemesla dēļ.

Sintakse

Lai izmantotu ' priekš ” cilpa:

priekš ( ļaujiet man = 0 ; i < masīvs. garums ; i ++ ) {

//stāvoklis

pārtraukums ;

}

Piemērs

Izmantojiet ' priekš 'cilpa, lai atkārtotu masīvu līdz tā garumam un apturētu masīvu, kamēr parādās elements ' 5 ” masīvā:

priekš ( ļaujiet man = 0 ; i < masīvs. garums ; i ++ ) {

konst elements = masīvs [ i ] ;

ja ( elements == 5 ) {

pārtraukums

}

konsole. žurnāls ( elements ) ;

}

Cilpa apstājas, kad “ 5 ” parādās masīvā:

3. metode: izmantojiet JavaScript cilpu “for-of”.

Varat arī izmantot ' priekš-of ” cilpa kā alternatīva forEach() cilpai. To izmanto, lai cilpu cauri iterējama objekta elementiem, piemēram, masīvam vai virknei. Tas ir līdzīgs for-in cilpai, taču ir īpaši izstrādāts darbam ar atkārtojamiem objektiem, un parasti tiek uzskatīts par kodolīgāku un vieglāk lasāmu.

Sintakse

For-of cilpai tiek izmantota šāda sintakse:

priekš ( konst masīva elements ) {

//stāvoklis

pārtraukums ;

}

Piemērs

For-of cilpa šeit tiek izmantota, lai iterētu masīvu un apturētu iterāciju, kad elements ' 5 ” parādās masīvā iterācijas laikā:

priekš ( konst masīva elements ) {

ja ( elements == 5 ) {

pārtraukums ;

}

konsole. žurnāls ( elements ) ;

}

Izvade

Tas viss attiecas uz forEach() cilpas apturēšanu JavaScript.

Secinājums

JavaScript nav iebūvēts veids, kā apturēt vai pārtraukt forEach() cilpu. Bet jūs varat sasniegt līdzīgu efektu, izmantojot ' izmēģināt/noķert” bloķēt. Tomēr to nav ieteicams izmantot, jo try/catch bloks ir paredzēts, lai apstrādātu izņēmumus, nevis kontrolētu cilpas plūsmu. Tāpēc ideāla pieeja ir izmantot alternatīvas metodes, piemēram, priekš ' vai ' priekš-of ” cilpa. Šajā rakstā mēs aprakstījām procedūru forEach() cilpas apturēšanai JavaScript.