jqueryのストップループ関数

PHPz
リリース: 2023-05-12 09:41:37
オリジナル
1075 人が閲覧しました

jQuery を使用して JavaScript プログラムを作成する場合、配列またはオブジェクトを走査するためにループ関数がよく使用されます。ただし、特定の条件が満たされてループを終了する必要がある場合など、ループ関数の実行を停止する必要がある場合があります。では、ループ関数の実行を停止するにはどうすればよいでしょうか?この記事ではいくつかの方法を紹介します。

1. Break ステートメントを使用する

JavaScript の Break ステートメントを使用して、ループを抜け出すことができます。 jQuery の each() 関数を使用する場合、ループ本体で Break ステートメントを使用してループを終了できます。例:

$.each([1, 2, 3, 4, 5], function(index, value) {
  console.log(value);
  if (value === 3) {
    return false; // 等效于 break
  }
});
ログイン後にコピー

この例では、$.each() メソッドは配列を走査し、各要素の値を出力します。要素の値が 3 に等しい場合、break ステートメントの役割が始まります。この時点でループは終了し、出力結果は次のようになります。

1
2
3
ログイン後にコピー
ログイン後にコピー

ここでの return false ステートメントと Break ステートメントは同じ効果があることに注意してください。これは、 each() 関数内で、関数が false を返した場合、これは、break ステートメントを使用してループから抜け出すのと同じです。

2. 変数マーカーを使用する

場合によっては、break ステートメントを直接使用してループを終了できない場合があります。この場合、変数マーカーを使用してこれを実現できます。 。例:

var stopped = false;
$.each([1,2,3,4,5], function(index, value){
  console.log(value);
  if(value == 3) {
    stopped = true;
    return false;
  }
});

if(stopped) {
  console.log('循环被停止了!');
}
ログイン後にコピー

ここでは、stopped という名前の変数を使用し、3 回反復するときにそれを true に設定します。そして、ループの後に変数が判定され、真であればループが停止したことになります。ただし、毎回マーカー変数を使用しなければならない場合、コードの可読性が低下する可能性があるとともに、変数の命名にも注意が必要です。

3. $.each() の 2 番目のパラメータを使用します。

$.each() 関数は 2 つのパラメータを受け取ります (最初のパラメータはトラバースされたオブジェクト、2 番目のパラメータはコールバック関数です) )、ループを中止するかどうかを示す 3 番目のオプションのパラメーターがあります。 3 番目のパラメーターが true の場合、ループは中止され、False の場合、ループは継続されます。

例:

$.each([1,2,3,4,5], function(index, value){
  console.log(value);
  if(value == 3) {
    return false;
  }
}, true);
ログイン後にコピー

返される結果は次のとおりです:

1
2
3
ログイン後にコピー
ログイン後にコピー

3 番目のパラメータが true の場合、3 番目のパラメータの値はループオブジェクト。したがって、次のように書くこともできます。

$.each([1,2,3,4,5], function(index, value, stop){
  console.log(value);
  if(value == 3) {
    stop();
  }
}, true);
ログイン後にコピー

これの利点は、return false ステートメントの代わりに stop() 関数名を使用して、コードの読みやすさを向上できることです。同時に、stop() 関数で終了ループ コードを柔軟に記述することもできます。

4. 他のループ メソッドを使用する

map()、grep()、inArray() などの他の jQuery ループ関数があり、それらはすべて中止する機能があります。ループ。例:

var arr = [1,2,3,4,5];
$.map(arr, function(val, i){
  console.log(val);
  if(val == 3) {
    return null;
  }
});
ログイン後にコピー

この例では、map() メソッドを使用しています。 map() メソッドは、配列 arr 内の要素ごとにコールバック関数を 1 回実行します。配列の要素値が 3 に等しい場合、null 値が返され、map() メソッドの出力リストから値 3 が省略されます。出力結果は次のとおりです。

1
2
4
5
ログイン後にコピー

さらに、jQuery の grep() 関数を使用して配列フィルタリング操作を実装することもできます。

まとめ:

上記はループ機能を停止する方法です。実際の状況に応じてさまざまな方法を選択してください。その中でも、break ステートメントと変数マーカーの使用がより一般的で、比較的シンプルで理解しやすいです。また、やみくもに短く簡潔なコードを追求するのではなく、可読性とコードの保守性が最も重要です。

以上がjqueryのストップループ関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!