【发布时间】:2012-02-05 11:29:43
【问题描述】:
我正在寻找一种方法来停止 underscore.js _.each() 方法的迭代,但找不到解决方案。 jQuery .each() 可能会中断,如果你这样做 return false。
有没有办法停止下划线 each()?
_([1,2,3]).each(function(v){
if (v==2) return /*what?*/;
})
【问题讨论】:
-
我觉得不可能,因为原生的
forEach函数也不提供这个功能。 -
通常在使用带有闭包的
each时(在大多数语言中),您希望首先过滤您的列表。这样你就不用担心脱离它了。一般来说,如果您需要从迭代中提前中断,您可能会采用不同的方式来实现它。 -
@Dmitry_F,正如其他人所指出的,你不能完全按照你的要求去做。但正如我所演示的,您可以使用
Array.every来模拟您想要的行为。 -
@Rob。干杯。第一条评论真的很有帮助。事实上,我本来可以用不同的方式来做这件事。
标签: javascript jquery underscore.js