1. ホーム
  2. node.js

[解決済み] each loopの中で「続ける」方法 : underscore, node.js

2023-07-14 11:38:43

質問

node.jsのコードはとてもシンプルです。

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

私の質問は、superUserがfalseに設定されている場合、"Some code"を実行せずに次のインデックスに進むにはどうしたらよいでしょうか?

追記:else 条件で解決できることは知っています。それでも答えを知りたいと思います。

どのように解決するのですか?

_.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(アンダースコアではありません)では _.forEach ループを早く終わらせたい場合は、明示的に return false とすることで、lodashはループを終了させることができます。 forEach ループを早期に終了させます。