Š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ą.