JavaScript-тегі continue нұсқаулығы
Сондай-ақ циклдің жаңа итерациясын бастайтын continue
нұсқаулығы бар. Бұл нұсқаулық кейде кодты жеңілдету үшін
пайдалы болуы мүмкін, дегенмен мәселені олсыз да шешуге
болады. Тәжірибелік мысалды қарастырайық.
Бізде сандар массиві бар делік. Оны циклмен қайталап шығып,
2-ге бөлінетін сандарды квадратқа шығарып, консолға
шығарайық, ал 3-ге бөлінетін сандарды текшеге
шығарып, консолға шығарайық. Мынау сипатталған мәселенің шешімі:
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);
}
}
Көріп тұрғаныңыздай, console.log(result)
жолы екі рет қайталанады. Оны if-тен шығарып алайық,
мынау сияқты:
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); // шығаруды шарттан шығардық
}
Алайда, енді біздің скрипт біршама басқаша жұмыс істейді:
біздің if арқылы өңделмеген жай элементтер үшін де
result айнымалысын консолға шығару орындалады,
бұл біздің мәселе шарты бойынша қажет емес.
Мәселені түзетейік, біздің if-қа тағы бір
else шартын қосамыз, ол 2 және
3-ге бөлінбейтін элементтер үшін орындалады,
және ол жерде continue нұсқаулығын шақырамыз,
ол бізді бірден циклдің жаңа итерациясына аударады:
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; // циклдің жаңа итерациясына өтеміз
}
console.log(result); // 2-ге немесе 3-ке бөлінгенде орындалады
}
1-ден 100-ге дейінгі жұп сандарды ғана
шығаратын цикл жазыңыз, тақ сандарды continue
арқылы өткізіп жіберіңіз.