Comment sortir de jQuery chaque tour de Boucle
Comment puis-je sortir de jQuery each
boucle?
J'ai essayé:
return false;
Dans la boucle, mais cela ne fonctionne pas. Des idées?
- Pour la postérité: pourquoi l'interlocuteur-dire le retour de faux n'a pas de travail? Pratiquement chaque réponse dit de le faire. Je me demandais si c'était peut-être parce que qui ne prend fin qu'à chaque boucle. Une instruction de retour à l'intérieur d'une boucle for, en revanche, serait de sortir de la boucle et l'appel de la fonction. Pour obtenir de tels drastique de comportement à partir d'une chaque boucle, vous aurez besoin de définir un drapeau avec fermeture-portée à l'intérieur de chaque boucle, puis répondez à l'indicateur à l'extérieur.
- Quelqu'un a supprimé mon commentaire d'origine. J'ai mis le
return false
dans le mauvais endroit. Quand je fixe le tout a fonctionné. - je ne sais pas pourquoi la "mise à jour", dit
return false
ne fonctionne pas avec$().each
- parce qu'il n'.
Vous devez vous connecter pour publier un commentaire.
À
break
un$.chaque
ou$(selector).chaque
boucle, vous devez retournerfalse
dans la boucle de rappel.Retour
true
saute à la prochaine itération, l'équivalent d'uncontinue
dans un état normal de la boucle.false
dans la boucle de rappel."? Exactement où est-ce?$.each(array, function(key, value) { if(value == "foo") return false; });
$().each
se fait exactement de la même manière, votre montage ne sert qu'à causer de la confusion.Selon la documentation de
return false;
devrait faire l'affaire.Return false dans le rappel:
BTW,
continue
fonctionne comme ceci:J'ai créé un Violon pour la réponse à cette question parce que l'on a accepté la réponse est incorrecte en plus c'est le premier StackOverflow fil retourné à partir de Google au sujet de cette question.
À sortir d'un $.chaque, vous devez utiliser
return false;
Ici est un Violon preuve:
http://jsfiddle.net/9XqRy/
Je suis tombé sur la situation où j'ai rencontré une condition qui a cassé la boucle, cependant le code après l' .chaque fonction() toujours exécuté. J'ai ensuite définir un indicateur de "vrai" avec un contrôle immédiat de l'indicateur après l' .chaque fonction de() pour s'assurer que le code qui a suivi n'a pas été exécutée.
"chaque" utilise la fonction de rappel.
Fonction de rappel exécuter indépendamment de la fonction d'appel,de sorte qu'il n'est pas possible de revenir à l'appel de la fonction de fonction de rappel.
utiliser la boucle for si vous devez vous arrêter l'exécution de la boucle basée sur une condition et de rester dans la même fonction.
Je sais que c'est un assez vieux, mais je ne vois pas de réponse de préciser que le pourquoi et le quand il est possible de rompre avec retour.
Je voudrais l'expliquer avec 2 exemples simples:
1. Exemple:
Dans ce cas, nous avons une simple itération et nous voulons rompre avec return true, si l'on peut trouver les trois.
si nous appelons cette fonction, il suffit de retourner la valeur true.
2. Exemple
Dans ce cas, nous voulons effectuer une itération avec jquery chaque fonction, qui prend fonction anonyme comme paramètre.