⊗jsPmLpCn 157 of 505 menu

Continue-käsky JavaScriptissä

On olemassa myös continue-käsky, joka käynnistää silmukan uuden iteraation. Tämä käsky voi joskus olla hyödyllinen koodin yksinkertaistamiseen, vaikka käytännössä tehtävän voi melkein aina ratkaista myös ilman sitä. Katsotaan käytännön esimerkkiä.

Olkoon meillä taulukko numeroita. Käydään se läpi silmukalla ja numerot, jotka ovat jaollisia 2:lla, korotetaan neliöön ja tulostetaan konsoliin, ja numerot, jotka ovat jaollisia 3:lla, korotetaan kuutioon ja tulostetaan konsoliin. Tässä on kuvatun tehtävän ratkaisu:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; for (let elem of arr) { let result; if (elem % 2 === 0) { result = elem * elem; console.log(result); } else if (elem % 3 === 0) { result = elem * elem * elem; console.log(result); } }

Kuten näet, rivi console.log(result) toistuu kahdesti. Siirretään se if:n ulkopuolelle, näin:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; for (let elem of arr) { let result; if (elem % 2 === 0) { result = elem * elem; } else if (elem % 3 === 0) { result = elem * elem * elem; } console.log(result); // siirretty tulostuksen ehdon ulkopuolelle }

Nyt skriptimme kuitenkin toimii hieman eritavalla: käy niin, että myös tavallisille alkioille, joidka käsittely ei käynyt läpi if:mme, suoritetaan muuttujan result tulostus konsoliin, mikä tehtävämme ehtojen mukaan ei ole tarpeen.

Korjataan ongelma lisäämällä if:llemme toinen ehto else, joka suoritetaan alkioille, jotka eivät ole jaollisia 2:lla ja 3:lla, ja kutsutaan siellä continue-käskyä, joka heti siirtää meidät silmukan seuraavalle iteraatiolle:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; for (let elem of arr) { let result; if (elem % 2 == 0) { result = elem * elem; } else if (elem % 3 == 0) { result = elem * elem * elem; } else { continue; // siirrytään silmukan seuraavalle iteraatiolle } console.log(result); // suoritetaan, jos jaollinen 2:lla tai 3:lla }

Kirjoita silmukka, joka tulostaa vain parilliset numerot 1:stä 100:aan, ohittaen parittomat käyttämällä continue:a.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää