>웹 프론트엔드 >JS 튜토리얼 >`return`은 JavaScript `forEach` 루프를 중지합니까?

`return`은 JavaScript `forEach` 루프를 중지합니까?

DDD
DDD원래의
2025-01-04 21:07:40934검색

Does `return` Stop a JavaScript `forEach` Loop?

forEach 함수의 반환 사용법 이해

JavaScript의 forEach 함수에서 return 키워드를 사용하면 효과가 제한됩니다.

영향 return

forEach 콜백 함수 내에서 return은 특정 콜백 실행에만 영향을 미칩니다. 루프를 중단하지 않으며 후속 콜백 실행을 방해하지 않습니다. 따라서 제공된 예에서

[1, 2, 3, 4, 5].forEach(function (n) {
   if (n == 3) {
      // it should break out here and doesn't alert anything after
      return false
   }
   alert(n)      
})

n이 3이면 콜백은 false를 반환하며 이는 이 컨텍스트에서 "정의되지 않음"을 반환하는 것과 동일합니다. 그러나 루프는 예상대로 계속되며 다음 숫자(4)에 경고가 표시됩니다.

대체 반복 방법

루프에서 벗어나야 하는 경우 조건에 따라 다음과 같은 대체 반복 방법을 사용하는 것이 좋습니다. 다음과 같이:

  • 간단한 루프:

    for (let i = 0; i < array.length; i++) {
    if (array[i] == 3) {
      break;
    }
    alert(array[i]);
    }
  • Array.prototype.every():

    array.every((n) => {
    if (n == 3) {
      return false; // Exit the loop
    }
    alert(n);
    return true;
    });

Mozilla 개발자 네트워크 문서

Mozilla 개발자 네트워크 문서에 언급된 바와 같이:

"예외를 발생시키는 것 외에는 forEach() 루프를 중지하거나 중단할 수 있는 방법이 없습니다. forEach() 메서드는 잘못된 도구입니다."

위 내용은 `return`은 JavaScript `forEach` 루프를 중지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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