簡體   English   中英

打破_.each循環

[英]Break out of an _.each loop

是否有可能突破每個循環的下划線..?

_.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
        // ...
    }
});

與上面的問題當然是,它必須做的整個循環,但這僅僅是下划線的的弱點each

你可以使用.every (原生數組方法或下划線方法):

_.every(obj, function (v, i) {
    // some code here
    // ...
    return i <= 2;
});

現在你無法打破每個循環。 這里將討論它: https//github.com/documentcloud/underscore/issues/596

也許在未來的版本上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM