【发布时间】:2013-06-11 20:32:14
【问题描述】:
如果你有:
var some = [0,1,2,3];
_.forEach(some, function (val) {
if(val === 1) {
// this return does nothing
return;
}
});
查看underscore source,您可以使用
突破forEach
var breaker = {};
但是,breaker 并未发布到公共范围,并且似乎是一个内部变量。
【问题讨论】:
-
没有理由这样做。跳出循环
if (iterator.call(context, obj[key], key, obj) === breaker) return; -
下划线会尽可能使用原生
forEach,除非抛出异常(丑陋!),否则无法突破,使用some,检查相关stackoverflow.com/questions/2641347/…