복붙노트

[JQUERY] 각 루프의 jQuery 탈출하는 방법

JQUERY

각 루프의 jQuery 탈출하는 방법

해결법


  1. 1.달러 (A $) .each 또는 $ (선택) .each 루프를 중단하려면 루프 콜백에서 false를 반환해야합니다.

    달러 (A $) .each 또는 $ (선택) .each 루프를 중단하려면 루프 콜백에서 false를 반환해야합니다.

    다음 반복에 충실 건너 뜁니다 반환하는에 해당 정상적인 루프에서 계속합니다.

    $.each(array, function(key, value) { 
        if(value === "foo") {
            return false; // breaks
        }
    });
    
    // or
    
    $(selector).each(function() {
      if (condition) {
        return false;
      }
    });
    

  2. 2.문서 반환 거짓에 따르면; 작업을 수행해야합니다.

    문서 반환 거짓에 따르면; 작업을 수행해야합니다.

    콜백에서 거짓으로 돌아 가기 :

    function callback(indexInArray, valueOfElement) {
      var booleanKeepGoing;
    
      this; // == valueOfElement (casted to Object)
    
      return booleanKeepGoing; // optional, unless false 
                               // and want to stop looping
    }
    

    BTW,이 같은 일을 계속 :


  3. 3.허용 대답이 잘못 플러스는이 질문에 대한 구글에서 반환 된 첫 번째 StackOverflow의 스레드이기 때문에 나는이 질문에 대한 답을 위해 바이올린을 만들었습니다.

    허용 대답이 잘못 플러스는이 질문에 대한 구글에서 반환 된 첫 번째 StackOverflow의 스레드이기 때문에 나는이 질문에 대한 답을 위해 바이올린을 만들었습니다.

    당신이 반환 거짓을 사용해야합니다 .each 달러 (A $)의 탈옥;

    여기에 바이올린이 그것을 증명하고 있습니다 :

    http://jsfiddle.net/9XqRy/


  4. 4.난 아직도 실행 .each () 함수 이후에, 그러나 코드를 루프를 돌파하는 조건을 충족 어디 상황을 가로 질러왔다. 나는 그 실행되지 않았습니다 다음 코드를 보장하기 위해 .each () 함수 후 플래그에 대한 즉각적인 확인과 "사실"에 플래그를 설정합니다.

    난 아직도 실행 .each () 함수 이후에, 그러나 코드를 루프를 돌파하는 조건을 충족 어디 상황을 가로 질러왔다. 나는 그 실행되지 않았습니다 다음 코드를 보장하기 위해 .each () 함수 후 플래그에 대한 즉각적인 확인과 "사실"에 플래그를 설정합니다.

    $('.groupName').each(function() {
        if($(this).text() == groupname){
            alert('This group already exists');
            breakOut = true;
            return false;
        }
    });
    if(breakOut) {
        breakOut = false;
        return false;
    } 
    

  5. 5."각각의"용도 콜백 함수. 이 콜백 함수로부터 함수 호출로 복귀하는 것은 불가능하므로 콜백 함수가 호출 함수 관계없이 실행한다.

    "각각의"용도 콜백 함수. 이 콜백 함수로부터 함수 호출로 복귀하는 것은 불가능하므로 콜백 함수가 호출 함수 관계없이 실행한다.

    당신은 몇 가지 조건에 따라 루프의 실행을 중지해야하고 동일한 기능을 유지하는 경우 루프 사용합니다.


  6. 6.나는 그것의 아주 오래된 질문을 알고 있지만 나는 왜 경우의 수를 반환과 휴식을 명확히 어떤 대답을 보지 못했다.

    나는 그것의 아주 오래된 질문을 알고 있지만 나는 왜 경우의 수를 반환과 휴식을 명확히 어떤 대답을 보지 못했다.

    나는이 개 간단한 예제와 함께 설명하고 싶습니다 :

    1. 예 : 이 경우, 우리는 단순한 반복이 있고 우리는 우리가 세 가지를 찾아 낼 수있는 경우에, true가 돌려과 헤어지고 싶어.

    function canFindThree() {
        for(var i = 0; i < 5; i++) {
            if(i === 3) {
               return true;
            }
        }
    }
    

    우리는이 함수를 호출하는 경우, 단순히 사실을 반환합니다.

    2. 예 이 경우, 우리는 매개 변수로 익명 함수를 취 jQuery의 각 기능과 반복합니다.

    function canFindThree() {
    
        var result = false;
    
        $.each([1, 2, 3, 4, 5], function(key, value) { 
            if(value === 3) {
                result = true;
                return false; //This will only exit the anonymous function and stop the iteration immediatelly.
            }
        });
    
        return result; //This will exit the function with return true;
    }
    

  7. 7.나는 (예를 들어)이 방법을 사용합니다 :

    나는 (예를 들어)이 방법을 사용합니다 :

    $(document).on('click', '#save', function () {
        var cont = true;
        $('.field').each(function () {
            if ($(this).val() === '') {
                alert('Please fill out all fields');
                cont = false;
                return false;
            }
        });
        if (cont === false) {
            return false;
        }
        /* commands block */
    });
    

    계속 거짓 실행 명령 블록이 아닌 경우

  8. from https://stackoverflow.com/questions/1784780/how-to-break-out-of-jquery-each-loop by cc-by-sa and MIT license