Kuinka pysäyttää JavaScript forEach?

Kuinka Pysayttaa Javascript Foreach



Silmukat ovat tärkeitä ohjausrakenteita ohjelmoinnissa, koska niiden avulla voit suorittaa koodilohkon useita kertoja. On kuitenkin tärkeää pysäyttää silmukka jossain vaiheessa; muuten se jatkuu loputtomiin. Tämä voi johtaa ongelmiin, kuten tietokoneen käytettävissä olevien resurssien käyttöön tai ohjelmien kaatumiseen.

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ä.