jQuery each
루프에서 벗어나려면 어떻게해야 합니까?
나는 시도했다 :
return false;
루프에서 그러나 이것은 작동하지 않았습니다. 어떤 아이디어?
return false
잘못된 장소에 넣었다 . 내가 고쳤을 때 모든 것이 효과가있었습니다.
return false
가 작동 하지 않는지 확실 하지 않습니다 $().each
.
jQuery each
루프에서 벗어나려면 어떻게해야 합니까?
나는 시도했다 :
return false;
루프에서 그러나 이것은 작동하지 않았습니다. 어떤 아이디어?
return false
잘못된 장소에 넣었다 . 내가 고쳤을 때 모든 것이 효과가있었습니다.
return false
가 작동 하지 않는지 확실 하지 않습니다 $().each
.
답변:
에 또는 루프, 당신은 반환해야 루프 콜백.break
$.each
$(selector).each
false
리턴 true
하면 다음 반복 으로 건너 뜁니다 ( continue
일반 루프의 경우 와 동일) .
$.each(array, function(key, value) {
if(value === "foo") {
return false; // breaks
}
});
// or
$(selector).each(function() {
if (condition) {
return false;
}
});
false
루프 콜백에서 복귀"란 무엇입니까 ? 정확히 어디입니까?
$.each(array, function(key, value) { if(value == "foo") return false; });
$().each
것은 똑같은 방식으로 수행되며 편집은 혼란을 유발할뿐입니다.
문서에 따르면 return false;
작업을 수행해야합니다.
콜백 함수가 false를 반환하도록하여 $ .each () 루프 [..]를 중단 할 수 있습니다.
콜백에서 false를 반환하십시오.
function callback(indexInArray, valueOfElement) {
var booleanKeepGoing;
this; // == valueOfElement (casted to Object)
return booleanKeepGoing; // optional, unless false
// and want to stop looping
}
BTW continue
는 다음과 같이 작동합니다.
거짓이 아닌 리턴은 for 루프의 continue 문과 동일합니다. 다음 반복으로 즉시 건너 뜁니다.
허용 된 답변이 정확하지 않기 때문에이 질문에 대한 답변을 위해 바이올린을 만들었습니다.이 질문에 대해 Google에서 반환 된 첫 번째 StackOverflow 스레드입니다.
$ .each에서 벗어나려면 사용해야합니다. return false;
그것을 증명하는 바이올린은 다음과 같습니다.
루프를 깨는 조건을 만났지만 .each () 함수 이후의 코드는 여전히 실행되는 상황을 만났습니다. 그런 다음 .each () 함수 다음에 플래그를 즉시 확인하여 플래그를 "true"로 설정하여 뒤 따르는 코드가 실행되지 않았는지 확인합니다.
$('.groupName').each(function() {
if($(this).text() == groupname){
alert('This group already exists');
breakOut = true;
return false;
}
});
if(breakOut) {
breakOut = false;
return false;
}
"각"은 콜백 기능을 사용합니다. 콜백 기능은 호출 기능에 관계없이 실행되므로 콜백 기능에서 호출 기능으로 돌아갈 수 없습니다.
특정 조건에 따라 루프 실행을 중지하고 동일한 기능을 유지해야하는 경우 for 루프를 사용하십시오.
나는 그것의 오래된 질문을 알고 있지만 대답을 보지 못했습니다.
간단한 두 가지 예를 들어 설명하고 싶습니다.
1. 예제 : 이 경우 간단한 반복이 있고 세 개를 찾을 수 있으면 return true로 나누고 싶습니다.
function canFindThree() {
for(var i = 0; i < 5; i++) {
if(i === 3) {
return true;
}
}
}
이 함수를 호출하면 단순히 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;
}