카테고리 없음

[JavaScript] 이중(중첩) 반복문에서 상위 반복문 break/continue

제이콥J 2022. 8. 10. 16:01

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 효과를 줄 수 있습니다.

이러면 전체 반복문이 중단됩니다.

반응형