各ループ内で「継続」する方法:アンダースコア、node.js 質問する

各ループ内で「継続」する方法:アンダースコア、node.js 質問する

node.js のコードは非常にシンプルです。

_.each(users, function(u, index) {
  if (u.superUser === false) {
    //return false would break
    //continue?
  }
  //Some code
});

私の質問は、superUser が false に設定されている場合に、「Some code」を実行せずに次のインデックスに進むにはどうすればよいかということです。

PS: else 条件で問題が解決することはわかっています。それでも答えを知りたいです。

ベストアンサー1

_.each(users, function(u, index) {
  if (u.superUser === false) {
    return;
    //this does not break. _.each will always run
    //the iterator function for the entire array
    //return value from the iterator is ignored
  }
  //Some code
});

補足として、lodash (アンダースコアではない) では、 「ループ」を早く終了したい場合、iteratee 関数から_.forEach明示的に実行することができ、lodash はループを早く終了します。return falseforEach

おすすめ記事