Maagizo ya continue katika JavaScript
Pia kuna maagizo continue,
yanayoanzisha iteration mpya ya kitanzi. Maagizo haya
wakati mwingine yanaweza kuwa muhimu kwa
kurahisisha code, ingawa karibu kila wakati kazi
inaweza kutatuliwa nayo. Hebu tuangalie
kwa mfano wa vitendo.
Wacha tuwe na safu yenye nambari. Wacha
tuizunguke kwa kitanzi na nambari, ambazo zinagawanyika
kwa 2, tuzipe mraba na tuzitoe
kwenye konsole, na nambari, ambazo zinagawanyika kwa 3,
tuzipe ujazo na tuzitoe kwenye konsole. Hapa kuna suluhisho
la kazi iliyoelezewa:
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);
}
}
Kama unavyoona, mstari console.log(result)
unarudiwa mara mbili. Wacha tuitoe
nje ya if, kama hivi:
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); // imeletwa nje ya masharti
}
Sasa script yetu, hata hivyo, inafanya kazi kidogo
sivyo: itatokea, kwamba hata kwa vipengele vya kawaida,
visivyoshughulikiwa kupitia if wetu
utendakazi wa kutolewa kwa variable result
kwenye konsole utafanyika, jambo ambalo kwa masharti ya kazi yetu
haituhitajiki.
Wacha tusahihisha tatizo, kwa kuongeza kwenye if wetu
sharti jingine else, litakalofanyika
kwa vipengele, visivyogawanyika kwa 2 na
3, na tuite humo maagizo continue,
ambayo mara moja itatupelesha
kwenye iteration mpya ya kitanzi:
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; // tunaenda kwenye iteration mpya ya kitanzi
}
console.log(result); // itafanyika, ikiwa inagawanyika kwa 2 au 3
}
Andika kitanzi, kitakachotoa tu
nambari shufwa kutoka 1
hadi 100,
ukiruka zisizo shufwa kwa kutumia continue.