Udhëzimi continue në JavaScript
Ekziston gjithashtu udhëzimi continue,
që nis një përsëritje të re të ciklit. Ky
udhëzim ndonjëherë mund të jetë i dobishëm për
thjeshtimin e kodit, edhe pse pothuajse gjithmonë detyra
mund të zgjidhet edhe pa të. Le të shohim
në një shembull praktik.
Le të themi se kemi një grup me numra. Le të
kalojmë nëpër të me një cikël dhe numrat që pjesëtohen
me 2, t'i ngremë në katror dhe t'i shfaqim
në konsol, kurse numrat që pjesëtohen me 3,
t'i ngremë në kub dhe t'i shfaqim në konsol. Ja zgjidhja
e detyrës së përshkruar:
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);
}
}
Siç e shihni, rreshti console.log(result)
përsëritet dy herë. Le ta nxjerrim atë
jashtë if, ja kështu:
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); // e nxorrën shfaqjen jashtë kushtit
}
Tani, megjithatë, skripti ynë funksionon paksa
ndryshe: do të ndodhë që edhe për elementët e zakonshëm,
që nuk janë përpunuar përmes if tonë, do të
kryhet shfaqja e ndryshores result
në konsol, gjë që sipas kushteve të detyrës sonë
nuk na duhet.
Le të rregullojmë problemin, duke i shtuar if tonë
edhe një kusht else, i cili do të aktivizohet
për elementët që nuk pjesëtohen me 2 dhe
3, dhe do të thërrasim aty udhëzimin continue,
i cili menjëherë do të na dërgojë
në një përsëritje të re të ciklit:
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; // do të kalojmë në një përsëritje të re të ciklit
}
console.log(result); // do të ekzekutohet nëse pjesëtohet me 2 ose 3
}
Shkruani një cikël, i cili do të shfaqë vetëm
numrat çift nga 1 deri në 100,
duke anashkaluar numrat tek me ndihmën e continue.