Anglejs.foreach를 사용할 때 return을 사용하는 방법

不言
풀어 주다: 2018-09-30 16:10:48
앞으로
3299명이 탐색했습니다.

이 글의 내용은Angularjs.foreach를 사용할 때 return의 사용법에 대한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

배열 객체에 객체가 있는지 비교를 작성할 때, 존재하면 true를 반환하고, 실패하면 false를 반환하는데, 종료 메소드가 없는 것을 발견하고 테스트해봤습니다.

#🎜🎜 #먼저 배열 객체를 작성한 후,angularjs의 forEach 메소드를 사용하여 2라는 객체가 있으면 true를 출력하고 반환하고, 그렇지 않으면 false를 출력하고 반환합니다. 🎜🎜#
self.test = function() {
      var testArray = [{name: 1},{name:2},{name:3}];
      angular.forEach(testArray, function(value, key){
        if (value.name == 2) {console.log(true + ' pass the test');return;}
        console.log(value.name + ' pass');
      });
      console.log(false + ' pass the test');
      return false;
    }();
로그인 후 복사

처음에는 value.name == 2인 요소를 찾으면 메서드가 직접 반환되므로 1패스만 출력하고 true 테스트를 통과하면 프로그램이 끝나는 줄 알았습니다. 하지만 출력 결과는 다음과 같습니다.

# 🎜🎜#

Anglejs.foreach를 사용할 때 return을 사용하는 방법forEach의 반환은 실제로 다음 역할만 수행하는 것으로 나타났습니다. for 루프에서 계속합니다. 그런 다음 반환 값과 forEach 루프의 실행을 결합합니다. 함수의 반환 값은 다음과 같이 인쇄됩니다.


#🎜🎜 #

Anglejs.foreach를 사용할 때 return을 사용하는 방법forEach 함수는 루프 배열을 반환하는데, 함수의 반환 값은 false입니다. 이는 forEach의 반환이 작동하지 않고 역할만 수행한다는 의미입니다. 계속.

온라인에서 검색했는데 이유에 대한 설명이 없습니다..

해결 방법: 임시 변수를 사용하여 결과를 저장하고, 조건이 충족되면 결과를 true로 변경합니다. 동일:

self.test = function() {
      var testArray = [{name: 1},{name:2},{name:3}];
      var result = false;
      angular.forEach(testArray, function(value, key){
        if (value.name == 2) {result = true;}
      });
      return result;
    };
    console.log(self.test());
로그인 후 복사

이 방법으로 올바른 결과 반환 값을 얻을 수 있지만 forEach I의 루프를 방지할 수는 없습니다. forEach는 일부 작업을 수행하기 위해 배열 요소를 순회하는 데 사용해야 한다고 생각하세요. Anglejs.foreach를 사용할 때 return을 사용하는 방법

위 내용은 Anglejs.foreach를 사용할 때 return을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿