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:

javascriptlet 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:

javascriptlet 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:

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

Задание 1

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.

Задание 2

Annettu taulukko numeroita. Etsi alkioiden summa taulukon alusta ensimmäiseen negatiiviseen lukuun asti.

Задание 3

Annettu taulukko numeroita. Etsi ensimmäisen luvun 3 sijainti tässä taulukossa (oletamme, että tämä luku on varmasti taulukossa).

Задание 4

Määritä, kuinka monta kokonaislukua, alkaen luvusta 1, on laskettava yhteen, jotta summa ylittäisi 100.