Die continue instruksie in JavaScript
Daar is ook 'n continue instruksie,
wat 'n nuwe iterasie van die lus begin. Hierdie
instruksie kan soms nuttig wees vir die
vereenvoudiging van kode, hoewel die taak
byna altyd sonder dit opgelos kan word. Kom ons kyk
na 'n praktiese voorbeeld.
Gestel ons het 'n array met nommers. Kom ons
durkloop dit met 'n lus en sal die nommers wat deelbaar is
deur 2, kwadreer en in die
console uitdruk, en die nommers wat deelbaar is deur 3,
sal ons tot die derde mag verhef en in die console uitdruk. Hier is die oplossing
van die beskryfde taak:
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);
}
}
Soos jy kan sien, word die reël console.log(result)
twee keer herhaal. Kom ons haal dit uit
die if, so:
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); // het die uitvoer buite die kondisie geplaas
}
Maar nou werk ons skrip effens
anders: dit blyk dat ook vir gewone elemente,
wat nie deur ons if verwerk is nie, sal
die uitdrukking van die veranderlike result
in die console uitgevoer word, wat volgens die voorwaarde van ons taak vir ons
nie nodig is nie.
Kom ons los die probleem op deur by ons if
'n verdere voorwaarde else by te voeg,
wat sal aktiveer
vir elemente wat nie deelbaar is deur 2 of
3 nie, en sal die continue instruksie daar roep,
wat ons onmiddellik sal oorskakel
na 'n nuwe iterasie van die lus:
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; // sal na 'n nuwe lus iterasie gaan
}
console.log(result); // sal uitgevoer word as deelbaar deur 2 of 3
}
Skryf 'n lus wat slegs
ewe getalle van 1 tot 100 sal uitdruk,
en onewe getalle met behulp van continue oorslaan.