Инструкција continue у JavaScript-у
Постоји и инструкција 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.