2017-04-06 3 views
6

私はUnderscoreとLodashライブラリの違いを見ていましたが、_.each/_.forEachに関する1つの問題がありました。"続ける" Lodash forEach

アンダースコアでは、_.each関数はループから脱出できません。 falseを返すと、「continue」ステートメントとしてのみ機能します。 (私の場合は意図した機能でした)=それはループの次の反復を強制し、間にコードをスキップします。

一方、Lodashでは、falseを返すと_forEach()にこの繰り返しが最後になることを通知します。 Lodashでも「続行」動作を機能させる方法はありますか?

ありがとうございました。

答えて

14

一方、Lodashでは、falseを返すと_forEach()にこの繰り返しが最後に伝わります。 Lodashでも「続行」動作を機能させる方法はありますか?

あなたは(undefinedを返す)true、または単に単一returnを返すことができ、この値はためneeded false異なる「終了反復早期に明示的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>