例:
var t = $.each(templos_cache, function(f,g){
$.each(g.requer, function(h,j){
if (parseFloat(g.id) == id){
alert(j.nome); // OK, return 'afrodite'.
return j.nome; // wrong, return [Object object].
}
});
return '';
});
Run Code Online (Sandbox Code Playgroud)
看看代码,我们可以看到问题...我可以在一个变量范围内做一个集合,但我认为可以存在一些更优雅的方式来做到这一点.
Jac*_*och 12
要突破$.each()
,只需return false;
从回调函数.正如jQuery文档引用的那样:
我们可以通过使回调函数返回false来在特定迭代中中断$ .each()循环.返回非false与for循环中的continue语句相同; 它将立即跳到下一次迭代.
编辑:
在意识到您可能想要返回一个值之后,您可以简单地将一个对象传递给回调函数,因为它是通过引用传递的.请参阅如何在Javascript中赋值期间附加字符串值?- 尽管如此,这一点都不优雅,所以我坚持只设置一个变量,$.each
如colinmarc所说.