[JS] 이중 for문 break

2

자바스크립트

목록 보기
4/7
post-thumbnail

🙆🏻‍♀️ [JS] 이중 for문 빠져 나오기 🙆🏻‍♀️

정해진 범위 만큼 tr안의 모든 td를 돌면서 작업을 해줘야 했다.
그리고 특정 조건에 부합하면 for문이 종료 됐어야 했는데, 원하는대로 되지 않았다.

  • 처음 구현한 것
for (let i = begin.idx; i <= end.idx; i++) {
  tdList.forEach(el => (
    if (특정 조건) {
      return false;
    }
    // do something   
  ))
}

헤헷 머쓱머쓱...^^ forEach문이 종료된다고 해서 for문이 종료되진 않는다구웃~!
그래서 forEach문을 for문으로 수정하여 이중 for문으로 만들었다.

  • 두 번째 도전
for (let i = begin.idx; i <= end.idx; i++) {
  for (let j = 0; j < tdList.length; j++) {
  	if (특정 조건) {
      break;
    }
    // do somthing
  }
}

하지만 또 원하는대로 구현이 되지 않았다.
안쪽의 for문이 종료된다고 해서 바깥쪽이 종료되는 것이 아니라구웃~^^

for문 label

그렇다면 해결 방법은?
바로 label을 붙여주는 것이다.

outerLoop: for (let i = begin.idx; i <= end.idx; i++) {
  for (let j = 0; j < tdList.length; j++) {
  	if (특정 조건) {
      break outerLoop;
    }
    // do somthing
  }
}

label 명은 자바스크립트에서 사용할 수 있는 식별자면 모두 가능하다.
(단, strict mode에서는 'let'을 사용할 수 없다.)
label는 continue 하고 싶은 상황에서도 쓸 수 있다.

얏호! 성공이다✨

for문 label

profile
당당하게 외치고 싶어요. "나, 「프런트엔드 개발자」야" 라고...😏

0개의 댓글