JavaScript에서 중첩 반복문(nested loop)을 사용하는 경우가 있습니다.
이중 for문이 그 예시입니다.
중첩 반복문을 사용할 경우 하위 반복문에서 break/continue 사용 시, 하위 반복문에만 그 효과가 적용됩니다.
나아가 여기서는 하위 반복문에서 상위 반복문에 break/continue 효과를 적용하는 방법을 포스팅했습니다.
1. 하위 반복문에서 break/continue 사용
for (let i=0; i<100; i++) { // 상위 for문
for (let j=0; j<100; j++) { // 하위 for문
break;
}
}
break는 반복문을 중지시키는 코드입니다.
위 코드처럼 하위 반복문에서 break를 사용하면, 하위 반복문에만 break가 적용됩니다.
상위 for문에는 break가 적용되지 않고, 여전히 반복문이 돌아갑니다.
2. 라벨을 통해 각 반복문의 이름 지정
loop1:
for (let i=0; i<100; i++) { // 상위 for문
loop2:
for (let j=0; j<100; j++) { // 하위 for문
break;
}
}
하위 반복문에서 상위 반복문에 break를 전달하기 위해서, 각 반복문에 대한 라벨이 필요합니다.
이는 각 반복문에 대한 변수를 지정하는 것과 같습니다.
(MDN : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/label)
여기서 상위 반복문은 loop1, 하위 반복문은 loop2로 라벨링 했습니다.
3. 하위 반복문에서 상위 반복문에 break/contine 적용
loop1:
for (let i=0; i<100; i++) { // 상위 for문
loop2:
for (let j=0; j<100; j++) { // 하위 for문
break loop1;
}
}
라벨링 된 반복문명을 사용하여, 하위 반복문(loop2)에서 상위 반복문(loop1)에 break 효과를 줄 수 있습니다.
이러면 전체 반복문이 중단됩니다.
반응형
댓글