Break-ohje JavaScriptissä
break-ohje mahdollistaa
silmukan ennenaikaisen päättämisen. Katsotaan,
milloin tästä voi olla hyötyä.
Oletetaan, että meillä on silmukka, joka tulostaa
taulukon elementit konsoliin:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
console.log(elem);
}
Oletetaan, että tehtävänämme on määrittää,
sisältääkö taulukko luvun 3. Jos sisältää,
tulostamme konsoliin sanan 'on' (ja
jos ei, emme tee mitään).
Ratkaistaan tehtävämme:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem === 3) {
console.log('on');
}
}
Tehtävä on ratkaistu, mutta on ongelma: sen jälkeen,
kun luku 3 on löytynyt, taulukkoa
jatketaan silti turhaan läpikäynnillä,
tuhlaan arvokkaita prosessoriresursseja ja
hidastaen skriptimme toimintaa.
Optimaalisempaa olisi päättää silmukan toiminta
välittömästi luvun löytymisen jälkeen. Tämä
on mahdollista erityisellä break-ohjeella,
joka mahdollistaa silmukan ennenaikaisen päättämisen.
Päätetään siis silmukka heti, kun kohtaamme
luvun 3:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('on');
break; // poistutaan silmukasta
}
}
break-ohje voi päättää mitä tahansa
silmukoita: tavallinen for, while
ja niin edelleen.
Annettu taulukko numeroita. Käynnistä silmukka, joka
tulostaa vuorotellen tämän taulukon
alkiot konsoliin, kunnes vastaan tulee
alkio, jonka arvo on 0. Tämän jälkeen
silmukan tulee päättää toimintansa.
Annettu taulukko numeroita. Etsi alkioiden summa taulukon alusta ensimmäiseen negatiiviseen lukuun asti.
Annettu taulukko numeroita. Etsi ensimmäisen
luvun 3 sijainti tässä taulukossa
(oletamme, että tämä luku on varmasti taulukossa).
Määritä, kuinka monta kokonaislukua, alkaen
luvusta 1, on laskettava yhteen, jotta summa
ylittäisi 100.