Cómo salir de jQuery cada bucle

¿Cómo salgo de un jQuery en each ciclo?

Yo he tratado:

  return false; 

En el bucle, pero esto no funcionó. ¿Algunas ideas?

ACTUALIZACIÓN Aunque no está claro cuál era el scope original de la pregunta, tenga en cuenta que la respuesta elegida solo cubre la función $.each() pero no el $().each .

Para break un bucle $.each , debe devolver false en la devolución de bucle.

Devolver saltos true a la siguiente iteración, lo que equivale a continue en un ciclo normal.

 $.each(array, function(key, value) { if(value === "foo") { return false; } }); 

Salto de un $().each bucle está cubierto en Cómo dividir / salir de una función cada () en JQuery?

De acuerdo con la documentación, return false; debería hacer el trabajo.

Podemos romper el bucle $ .each () [..] haciendo que la función de callback sea falsa.

Devuelve falso en la callback:

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

Por cierto, continue funciona así:

La devolución de no falso es lo mismo que una instrucción continuar en un ciclo for; saltará de inmediato a la próxima iteración.

Creé un Fiddle para la respuesta a esta pregunta porque la respuesta aceptada es incorrecta y este es el primer hilo de StackOverflow devuelto por Google con respecto a esta pregunta.

Para salir de $ .each debes usar return false;

Aquí hay un Fiddle que lo prueba:

http://jsfiddle.net/9XqRy/

Me encontré con la situación en la que cumplí una condición que rompió el ciclo, sin embargo, el código después de la función .each () aún se ejecutó. Luego establecí una bandera en “verdadero” con una verificación inmediata de la bandera después de la función .each () para asegurar que el código que siguió no se ejecutó.

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

“cada uno” usa la función de callback. La función de callback se ejecuta independientemente de la función de llamada, por lo que no es posible regresar a la función de llamada desde la función de callback.

use for loop si tiene que detener la ejecución del ciclo en función de alguna condición y permanecer en la misma función.

Sé que es una pregunta bastante antigua, pero no vi ninguna respuesta, que aclare por qué y cuándo es posible romper con el retorno.

Me gustaría explicarlo con 2 ejemplos simples:

1. Ejemplo: en este caso, tenemos una iteración simple y queremos romper con return true, si podemos encontrar los tres.

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

si llamamos a esta función, simplemente devolverá el verdadero.

2. Ejemplo En este caso, queremos iterar con cada función de jquery, que toma la función anónima como parámetro.

 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; }