如何从$ .each操作返回?(jQuery的)

tia*_*mac 9 javascript jquery

例:

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所说.

  • 这不是提问者的要求! (2认同)