>웹 프론트엔드 >JS 튜토리얼 >JavaScript forEach에서 무한 루프를 끊는 방법은 무엇입니까?

JavaScript forEach에서 무한 루프를 끊는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-17 21:18:30807검색

How to Break from Infinite Looping in JavaScript forEach?

JavaScript forEach에서 무한 루프 방지

문제:
Node.js 및 Mongoose에서 forEach 루프 내에서 재귀 함수 실행 무한 루프가 발생할 수 있습니다. 이를 어떻게 방지할 수 있습니까?

답변:
forEach 루프는 기존 루프 구조 없이 단일 작업으로 실행되므로 직접 중단하는 것은 불가능합니다. 그러나 중단 동작을 모방하는 대체 방법이 있습니다:

1. 컨텍스트 사용:
forEach에 두 번째 인수를 전달하여 컨텍스트로 사용하고 여기에 부울 변수를 저장합니다. forEach 함수 내에서 if 문을 사용하여 부울을 확인하고 필요한 경우 종료합니다.

2. 예외 처리:
전체 forEach 루프를 try-catch 블록으로 묶고 중단하려는 경우 예외를 발생시킵니다. 이 방법은 성능과 코드 유지 관리에 영향을 미치기 때문에 덜 선호됩니다.

3. Every() 또는 some() 사용:
forEach 대신 반환 값에 따라 사용자 지정 반복, 제어 및 조기 종료를 허용하는 Every() 또는 some() 메서드를 사용하세요.

every()를 사용한 예:

<code class="javascript">['a', 'b', 'c'].every(function(element, index) {
  // Do your thing, then:
  if (you_want_to_break) return false;
  else return true;
});</code>

위 내용은 JavaScript forEach에서 무한 루프를 끊는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.