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가 콘솔에 출력되며,
이는 우리 문제의 조건에 따라 필요하지 않습니다.
2와 3로 나누어지지 않는 요소에 대해
발생하는 else 조건을 우리의 if 문에 추가하고,
바로 루프의 새 반복으로 이동시키는 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으로 나누어질 경우 실행됨
}
continue를 사용하여 홀수를 건너뛰고
1부터 100까지의 짝수만 출력하는
루프를 작성하세요.