有可能跳出下划线each循环吗..?
_.each(obj, function(v,i){
if(i > 2){
break // <~ does not work
}
// some code here
// ...
})
我能否使用其他的设计模式?
有可能跳出下划线each循环吗..?
_.each(obj, function(v,i){
if(i > 2){
break // <~ does not work
}
// some code here
// ...
})
我能否使用其他的设计模式?
我认为你无法这样做,所以你只需要将函数的内容包装在 i < 2
中,或者使用 return
。使用.some
或.every
可能更有意义。
编辑:
//pseudo break
_.each(obj, function (v, i) {
if (i <= 2) {
// some code here
// ...
}
});
_.every(obj, function (v, i) {
// some code here
// ...
return i <= 2;
});
目前你无法中断一个each循环。这个问题正在这里讨论:https://github.com/documentcloud/underscore/issues/596
也许在未来的版本中会解决。
return
不就可以了吗? - Pubby.each
方法必须查找并中断其正在执行的循环,否则它将继续执行。 - Ianeach
函数确实可以让你做到这一点。如果你使用return false;
,它会停止遍历值。 - Xymostech