1. ホーム
  2. javascript

[解決済み】underscore.jsの_.each関数を解除する方法

2022-04-20 09:42:23

質問

underscore.jsの繰り返しを停止する方法を探しています。 _.each() メソッドがありますが、解決策を見つけることができません。 .each() を実行すると壊れることがあります。 return false .

アンダースコアeach()を止める方法はありますか?

_([1,2,3]).each(function(v){
    if (v==2) return /*what?*/;
})

解決方法は?

を解除することはできません。 each メソッドをエミュレートします。 forEach メソッドの動作と、ネイティブの forEach は、(例外を投げる以外に)ループを脱出する方法を提供しません。

しかし、すべての希望が失われたわけではありません! を使用することができます。 Array.every メソッドを使用します。)

そのリンクから

<ブロッククオート

every は、提供された callback 関数は、配列の各要素について callback は偽の値を返します。もしそのような要素が見つかったら every メソッドは直ちに false を返します。

つまり、次のような複雑なことができるのです( JSFiddleへのリンク ):

[1, 2, 3, 4].every(function(n) {
    alert(n);
    return n !== 3;
});

これは 1 を通して 3 そして、ループから抜け出します。

underscore.jsを使用しているので が行います。 を提供します。 every メソッドと呼ばれています。 every というエイリアスも提供されています。 all .