Kaip sustabdyti „JavaScript“ kiekvienam?

Kaip Sustabdyti Javascript Kiekvienam



Kilpos yra labai svarbios programavimo valdymo struktūros, nes jos leidžia kelis kartus vykdyti kodo bloką. Tačiau svarbu tam tikru momentu sustabdyti kilpą; kitu atveju jis veiks neribotą laiką. Dėl to gali kilti problemų, pvz., naudojant turimus kompiuterio išteklius arba programos gali strigti.

Šiame straipsnyje bus aprašyta „JavaScript“ ciklo „forEach“ sustabdymo procedūra.

Kaip sustabdyti „JavaScript forEach“?

Atsižvelgiant į konkrečius programos poreikius, yra keletas būdų, kaip sustabdyti programavimo kilpą. Pavyzdžiui, galite naudoti ciklo pabaigos sąlygą arba pertraukos sakinį, pvz. pertrauka ' arba ' IŠĖJIMAS “ norėdami sustabdyti kilpą, kai įvykdoma tam tikra sąlyga. Tačiau problema yra ta, kad „ kiekvienam “ kilpa pateikia klaidą naudojant šiuos teiginius.







1 pavyzdys: „ForEach JavaScript Loop“ naudokite „break“.

Pabandykime sustabdyti „ kiekvienam ' kilpa naudojant ' pertrauka “ pareiškimas. Pirmiausia sukurkite nelyginių skaičių masyvą:



buvo masyvas = [ vienas , 3 , 5 , 7 , 9 , vienuolika , 13 , penkiolika ] ;

Norėdami pakartoti masyvą, naudokite forEach kilpą. Jei elementas ' 5 “ atsiranda masyve iteracijos metu, sustabdykite kilpą:



masyvas. kiekvienam ( elementas => {

jeigu ( elementas == 5 ) {

pertrauka ;

}

} ) ;

Galima pastebėti, kad pertraukos sakinys neveikia forEach cikle:





2 pavyzdys: naudokite „EXIT“ kiekviename „JavaScript“ cikle

Pabandykite sustabdyti kilpą naudodami ' IŠĖJIMAS “ kai elementas “ 5 “ įvyksta masyve iteracijos metu:



masyvas. kiekvienam ( elementas => {

jeigu ( elementas == 5 ) {

IŠĖJIMAS ;

}

} ) ;

Tai taip pat sukelia klaidą:

Sustabdyti forEach() kilpą atrodo neįmanomas iššūkis, tačiau čia yra keletas sprendimų, kuriuos reikia įvertinti:

1 būdas: sustabdykite „JavaScript“ kiekvienam naudojant „try/catch“ bloką

„JavaScript“ nėra integruoto būdo sustabdyti arba nutraukti forEach() kilpą. Tačiau panašų efektą galite pasiekti padarę išimtį ir gaudydami ją per kilpą. Norėdami tai padaryti, naudokite ' pabandyti/pagauti “ blokas. Tai valdymo struktūra, leidžianti tvarkyti išimtis arba vykdymo klaidas, kurios gali atsirasti kode. Kodas, galintis sukelti išimtį, yra „ bandyti “ blokas, o kodas, kuris apdoroja išimtį, yra „ sugauti “ blokas.

Sintaksė

Naudokite toliau pateiktą sintaksę, kad naudotumėte try/catch bloką:

bandyti {

// kodas, kuris gali padaryti išimtį

} sugauti ( klaida ) {

// kodas išimčiai apdoroti

}

Pavyzdys

Apvyniokite forEach() ciklo kodą try/catch bloke, kad sustabdytumėte kilpą tvarkydami klaidą:

bandyti {

masyvas. kiekvienam ( elementas => {

jeigu ( elementas == 5 ) {

mesti naujas Išimtis ( 'sustabdyti' ) ;

}

} ) ;

} sugauti ( ir ) {

konsolė. žurnalas ( 'Kilpa baigėsi' ) ;

}

Aukščiau pateiktame kodo fragmente, kai trynimo bloke atsiranda išimtis, programa iškart pereis prie gaudymo bloko ir ten vykdys kodą. Tai suteikia mums galimybę valdyti išimtį ir apsaugoti programą nuo strigimo.

Išvestis

Paprastai nerekomenduojama naudoti try/catch bloko norint sustabdyti forEach() kilpą JavaScript. Taip yra todėl, kad try/catch bloko tikslas yra tvarkyti išimtis, o ne kontroliuoti ciklo srautą. Taigi, geriau naudoti alternatyvius metodus.

2 būdas: „JavaScript“ naudokite „for“ kilpą

Naudoti ' dėl “ kilpa vietoj forEach() ciklo. Pertraukos sakinys naudojamas cikle, leidžiantis anksti išeiti prieš pasiekiant ciklo nutraukimo sąlygą. Tai gali būti naudinga, jei norite sustabdyti kilpą, kai tam tikra sąlyga įvertinama kaip ' tiesa “ arba išeikite iš ciklo dėl bet kokios kitos priežasties.

Sintaksė

Naudokite šią sintaksę dėl “ kilpa:

dėl ( leisk man = 0 ; i < masyvas. ilgio ; i ++ ) {

//būklė

pertrauka ;

}

Pavyzdys

Naudoti ' dėl ' kilpa kartoti masyvą iki jo ilgio ir sustabdyti masyvą, kol atsiranda elementas ' 5 “ masyve:

dėl ( leisk man = 0 ; i < masyvas. ilgio ; i ++ ) {

konst elementas = masyvas [ i ] ;

jeigu ( elementas == 5 ) {

pertrauka

}

konsolė. žurnalas ( elementas ) ;

}

Ciklas sustoja, kai „ 5 “ pasirodo masyve:

3 būdas: „JavaScript“ naudokite „for-of“ kilpą

Taip pat galite naudoti „ for-of “ kilpa kaip alternatyva forEach() kilpai. Jis naudojamas norint peržiūrėti kartojamo objekto elementus, pvz., masyvą ar eilutę. Jis panašus į for-in kilpą, bet yra specialiai sukurtas dirbti su kartojamais objektais ir paprastai laikomas glaustesniu ir lengviau skaitomu.

Sintaksė

Ši sintaksė naudojama „for-of“ ciklai:

dėl ( konst masyvo elementas ) {

//būklė

pertrauka ;

}

Pavyzdys

Ciklas for-of čia naudojamas kartoti masyvą ir sustabdyti iteraciją, kai elementas ' 5 “ pasirodo masyve iteracijos metu:

dėl ( konst masyvo elementas ) {

jeigu ( elementas == 5 ) {

pertrauka ;

}

konsolė. žurnalas ( elementas ) ;

}

Išvestis

Tai viskas apie forEach() ciklo sustabdymą „JavaScript“.

Išvada

„JavaScript“ nėra integruoto būdo sustabdyti arba nutraukti forEach() kilpą. Tačiau panašų efektą galite pasiekti naudodami „ pabandyti/pagauti“ blokas. Tačiau nerekomenduojama naudoti, nes try/catch blokas yra skirtas išimtims valdyti, o ne kilpos srautui valdyti. Taigi idealus būdas yra naudoti alternatyvius metodus, tokius kaip „ dėl ' arba ' for-of “ kilpa. Šiame straipsnyje aprašėme „JavaScript“ ciklo forEach() sustabdymo procedūrą.