是否有可能在每个循环中突破下划线..?
_.each(obj, function(v,i){
if(i > 2){
break // <~ does not work
}
// some code here
// ...
})
我可以使用其他设计模式吗?
答案 0 :(得分:9)
我认为你不能,所以你只需要在i < 2
中包含该函数的内容或使用return
。使用.some
或.every
可能更有意义。
编辑:
//pseudo break
_.each(obj, function (v, i) {
if (i <= 2) {
// some code here
// ...
}
});
上述问题当然是必须完成整个循环,但这只是下划线each
的弱点。
您可以使用.every
(原生数组方法或下划线方法):
_.every(obj, function (v, i) {
// some code here
// ...
return i <= 2;
});
答案 1 :(得分:0)
现在你无法打破每个循环。这里正在讨论:https://github.com/documentcloud/underscore/issues/596
也许是未来的版本。