JavaScript
[JavaScript] 이중 for문 한번에 탈출
hrming
2024. 12. 17. 16:09
이중 for문으로 데이터를 비교하다가 부적합한 데이터가 확인되어 한번에 for문을 나오게 해야하는 경우, 아래와 같이 라벨/플래그 변수/함수 을(를) 사용할 수 있다.
☑️ 라벨의 사용법
- 라벨 정의 : 반목문 앞에 라벨을 선언함. 라벨 이름 뒤에는 반드시 콜론(:)이 붙음
- 라벨 사용 : break 또는 continue와 함께 라벨 이름을 사용하여 해당 반복문을 종료하거나 다음 반복으로 넘김
outerLoop: // 라벨 이름
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
console.log(`i: ${i}, j: ${j}`);
if (i === 2 && j === 2) {
break outerLoop; // outerLoop 반복문을 종료
}
}
}
console.log('반복문 종료');
// 출처: chatGPT
☑️ 플래그 변수 사용
let isBreak = false;
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
console.log(`i: ${i}, j: ${j}`);
if (i === 2 && j === 2) {
isBreak = true; // 플래그 설정
break; // 내부 루프 종료
}
}
if (isBreak) break; // 외부 루프 종료
}
console.log('반복문 종료');
// 출처: chatGPT
☑️ 함수 사용
function nestedLoop() {
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
console.log(`i: ${i}, j: ${j}`);
if (i === 2 && j === 2) {
return; // 함수 종료로 반복문 완전히 종료
}
}
}
console.log('이 메시지는 실행되지 않음'); // 조건 충족 시 실행되지 않음
}
nestedLoop();
console.log('반복문 종료 후 실행');
// 출처: chatGPT
중첩된 반복문(for) 빠져나가기
중첩된 for 문 나가려면 break 레이블명 넣습니다.for 문에 레이블을 달아주고,break 에 해당 레이블명을 적어주면 원하는 for문을 빠져나올 수 있습니다.
velog.io
chatGPT