Tässä artikkelissa kuvataan menetelmä forEach-silmukan pysäyttämiseksi JavaScriptissä.
Kuinka pysäyttää JavaScript forEach?
Ohjelman erityistarpeista riippuen on olemassa useita tapoja pysäyttää ohjelmointisilmukka. Voit esimerkiksi käyttää silmukan lopetusehtoa tai break-lausetta, kuten ' tauko ' tai ' POISTU ” pysäyttääksesi silmukan, kun tietty ehto täyttyy. Ongelma on kuitenkin tämä, ' jokaiselle ' -silmukka antaa virheen käyttäessään näitä lauseita.
Esimerkki 1: Käytä 'break' jokaisessa JavaScript-silmukassa
Yritetään pysäyttää ' jokaiselle ' silmukka käyttämällä ' tauko ”lausunto. Luo ensin joukko parittomia lukuja:
oli joukko = [ yksi , 3 , 5 , 7 , 9 , yksitoista , 13 , viisitoista ] ;
Käytä forEach-silmukkaa taulukon iterointiin. Jos elementti ' 5 ' esiintyy taulukossa iteroinnin aikana, lopeta silmukka:
joukko. jokaiselle ( elementti => {
jos ( elementti == 5 ) {
tauko ;
}
} ) ;
Voidaan nähdä, että break-lause ei toimi forEach-silmukassa:
Esimerkki 2: Käytä 'POISTU' jokaisessa JavaScript-silmukassa
Yritä pysäyttää silmukka käyttämällä ' POISTU ' kun elementti ' 5 ' esiintyy taulukossa iteraation aikana:
joukko. jokaiselle ( elementti => {
jos ( elementti == 5 ) {
POISTU ;
}
} ) ;
Se aiheuttaa myös virheen:
ForEach()-silmukan pysäyttäminen näyttää mahdottomalta haasteelta, mutta tässä on muutamia arvioitavia ratkaisuja:
Tapa 1: Pysäytä JavaScript forEach käyttämällä 'try/catch' -estoa
JavaScriptissä ei ole sisäänrakennettua tapaa pysäyttää tai katkaista forEach()-silmukkaa. Voit kuitenkin saavuttaa samanlaisen vaikutuksen heittämällä poikkeuksen ja kiinnittämällä sen silmukan sisällä. Käytä tätä varten ' yritä saada kiinni ” lohko. Se on ohjausrakenne, jonka avulla voit käsitellä poikkeuksia tai ajonaikaisia virheitä, joita voi esiintyä koodissa. Koodi, joka voi aiheuttaa poikkeuksen, löytyy ' yrittää ' -lohkossa, kun taas poikkeusta käsittelevä koodi sisältyy ' saada kiinni ” lohko.
Syntaksi
Käytä alla annettua syntaksia try/catch-lohkon käyttämiseen:
yrittää {// koodi, joka voi aiheuttaa poikkeuksen
} saada kiinni ( virhe ) {
// koodi poikkeuksen käsittelemiseksi
}
Esimerkki
Kääri forEach()-silmukkakoodi try/catch-lohkoon pysäyttääksesi silmukan käsittelemällä virhettä:
yrittää {joukko. jokaiselle ( elementti => {
jos ( elementti == 5 ) {
heittää Uusi Poikkeus ( 'lopettaa' ) ;
}
} ) ;
} saada kiinni ( ja ) {
konsoli. Hirsi ( 'Kilmukka on päättynyt' ) ;
}
Yllä olevassa koodinpätkässä, kun try-lohkossa tehdään poikkeus, ohjelma hyppää välittömästi catch-lohkoon ja suorittaa koodin siellä. Tämä antaa meille mahdollisuuden hallita poikkeusta ja suojata ohjelmaa kaatumiselta.
Lähtö
Yleensä ei suositella try/catch-lohkon käyttämistä forEach()-silmukan pysäyttämiseen JavaScriptissä. Tämä johtuu siitä, että try/catch-lohkon tarkoitus on käsitellä poikkeuksia eikä ohjata silmukan kulkua. Joten on parempi käyttää vaihtoehtoisia menetelmiä.
Tapa 2: Käytä 'for' -silmukkaa JavaScriptissä
Käytä ' varten ”-silmukkaa forEach()-silmukan sijaan. Break-lausetta käytetään for-silmukassa, mikä mahdollistaa varhaisen poistumisen ennen kuin silmukan lopetusehto saavutetaan. Tästä voi olla hyötyä, jos haluat pysäyttää silmukan, kun tietty ehto arvioidaan muodossa ' totta ' tai poistu silmukasta jostain muusta syystä.
Syntaksi
Käytä seuraavaa syntaksia ' varten 'silmukka:
varten ( Anna minun = 0 ; i < joukko. pituus ; i ++ ) {//kunto
tauko ;
}
Esimerkki
Käytä ' varten 'silmukka toistaa taulukkoa sen pituuteen asti ja pysäyttää taulukon elementin esiintyessä' 5 ' taulukossa:
varten ( Anna minun = 0 ; i < joukko. pituus ; i ++ ) {konst elementti = joukko [ i ] ;
jos ( elementti == 5 ) {
tauko
}
konsoli. Hirsi ( elementti ) ;
}
Silmukka pysähtyy, kun ' 5 ' näkyy taulukossa:
Tapa 3: Käytä 'for-of' -silmukkaa JavaScriptissä
Voit myös käyttää ' for-of ” silmukan vaihtoehtona forEach()-silmukalle. Sitä käytetään iteroitavan objektin, kuten taulukon tai merkkijonon, elementtien läpi kiertämiseen. Se on samanlainen kuin for-in-silmukka, mutta se on erityisesti suunniteltu toimimaan iteroitavien objektien kanssa, ja sitä pidetään yleensä tiiviimpänä ja helpompi lukea.
Syntaksi
For-of-silmukassa käytetään seuraavaa syntaksia:
varten ( konst taulukon elementti ) {//kunto
tauko ;
}
Esimerkki
For-of-silmukkaa käytetään tässä taulukon iterointiin ja iteroinnin lopettamiseen, kun elementti ' 5 ” näkyy taulukossa iteroinnin aikana:
varten ( konst taulukon elementti ) {jos ( elementti == 5 ) {
tauko ;
}
konsoli. Hirsi ( elementti ) ;
}
Lähtö
Siinä on kyse forEach()-silmukan pysäyttämisestä JavaScriptissä.
Johtopäätös
JavaScriptissä ei ole sisäänrakennettua tapaa pysäyttää tai katkaista forEach()-silmukkaa. Mutta voit saavuttaa samanlaisen vaikutuksen käyttämällä ' yritä saada kiinni' lohko. Sen käyttöä ei kuitenkaan suositella, koska try/catch-lohkon tarkoituksena on käsitellä poikkeuksia eikä ohjata silmukan kulkua. Joten ihanteellinen lähestymistapa on käyttää vaihtoehtoisia menetelmiä, kuten ' varten ' tai ' for-of ”silmukka. Tässä artikkelissa kuvailimme toimenpiteen forEach()-silmukan pysäyttämiseksi JavaScriptissä.