Pregunta ¿Cómo romper / salir de una función cada () en JQuery? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Tengo un código:

$(xml).find("strengths").each(function() {
   //Code
   //How can i escape from this block based on a condition.
});

¿Cómo puedo escapar del bloque de código "cada" basado en una condición?

Actualizar:

¿Qué pasa si tenemos algo como esto?

$(xml).find("strengths").each(function() {
   $(this).each(function() {
       //I want to break out from both each loops at the same time.
   });
});

¿Es posible salir de ambas funciones "cada" de la función interna "cada"?

# 19.03.2013

Si quieres continuar en lugar de salir

return true;

541
2017-11-25 19:11


origen


Respuestas:


De acuerdo con la documentación puedes simplemente return false; romper:

$(xml).find("strengths").each(function() {

    if (iWantToBreak)
        return false;
});

903
2017-11-25 19:12



Devuelve falso de la función anónima:

$(xml).find("strengths").each(function() {
  // Code
  // To escape from this block based on a condition:
  if (something) return false;
});

De la documentación del cada método:

Devolviendo 'falso' desde dentro de cada   la función detiene por completo el ciclo   a través de todos los elementos (esto es   como usar un 'break' con un normal   lazo). Volviendo 'verdadero' desde dentro   el loop salta a la siguiente iteración   (Esto es como usar un 'continuar' con   un bucle normal).


100
2017-11-25 19:13



Puedes usar return false;

+----------------------------------------+
| JavaScript              | PHP          |
+-------------------------+--------------+
|                         |              |
| return false;           | break;       |
|                         |              |
| return true; or return; | continue;    |
+-------------------------+--------------+

94
2018-03-19 14:17



if (condition){ // where condition evaluates to true 
    return false
}

ver  pregunta similar preguntó hace 3 días.


20
2017-11-25 19:15