web-dev-qa-db-ja.com

Lodash forEachの「続行」

UnderscoreライブラリとLodashライブラリの違いを見ていましたが、_。each/_.forEachに関する1つの問題に遭遇しました。

アンダースコアでは、_。each関数はループから抜け出せません。 return falseを使用すると、「継続」ステートメントとしてのみ機能しました。 (私の場合、これは意図した機能でした)=ループの次の反復を強制的に実行し、その間のコードをスキップします。

一方、Lodashでは、falseを返すと、_。forEach()にこの反復が最後になることを伝えます。 Lodashでも「継続」動作を機能させる方法はありますか?

ありがとう。

24
IceWhisper

一方、Lodashでは、falseを返すと、_。forEach()にこの反復が最後になることを伝えます。 Lodashでも「継続」動作を機能させる方法はありますか?

trueを返すことも、単一のreturnundefinedを返す)を返すこともできます。この値は 必要なfalse とは異なりますfor "明示的にfalseを返すことにより、反復を早期に終了します。"

_.forEach([1, 2, 3, 4, 5], function (a) {
    if (a < 3) return;       // continue
    console.log(a);
    if (a > 3) return false; // break
    // return undefined;     // continue, undefined is the standard value of ending a function
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
45
Nina Scholz