前回の記事「JS配列学習:配列を走査して要素の値を2倍にする」では、配列を走査して配列内の各要素を処理する方法を紹介しました。今回は配列トラバーサルについて引き続き説明し、すべての配列要素が指定された条件を満たしているかどうかを検出するいくつかの方法を紹介します。必要な友人はそれについて学ぶことができます~
それでは、配列内の要素が満たしているかどうかを判断する方法指定された条件は?たとえば、配列を走査して、配列内のすべての要素が偶数であるかどうかを確認します。
以下に 3 つの方法を紹介します。まずおなじみの for ループから始めて、次に 2 つの組み込み関数を紹介します。それらを使用して検出する方法を見てみましょう。
#方法 1: for ループを使用する
#実装アイデア:for(var i=0;i<a.length;i++){ }
var a = [2,4,5,6,8],b=0; for(var i=0;i<a.length;i++){ if (a[i] % 2 != 0) { b=0 break; }else{ b++; } } if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }
分析コード:
値 0 を代入します。配列要素が偶数の場合、b は 1 増加します。配列要素が偶数でない場合、b の値は再び 0 になり、次の値を使用します。 「break;」でループを終了します。
の場合、それらは偶数です。すべて偶数; b=0
がすべて偶数ではない場合。
方法 2: some() メソッド
some() メソッドを使用して、配列内に条件を満たす要素があるかどうかを検出します。見方を変えると、配列内のすべての要素が指定した条件を満たしていないかどうかを検出するためにも使用できます。指定した条件を満たしていない場合は false を返し、1 つ以上の要素が一致した場合は、結果を返します。 trueを返します。 (上記のコードと同じ考え方)
array.some(function callbackfn(Value,index,array),thisValue)
: コールバック関数。省略できず、最大 3 つのパラメータを受け入れることができます。
function f(value, index, ar) { if (value % 2 != 0) { return true; } } var a = [2,4,6,8,10,12]; var b = a.some(f); if (b) { console.log("不全为偶数"); } else { console.log("都是偶数"); }
配列内の要素はすべて偶数であるため、出力結果は次のようになります。
配列要素 12 を 11 に変更すると、出力結果は次のようになります。
方法 3: Every() メソッドを使用するEvery() メソッドは、すべての配列要素が指定された条件を満たしているかどうかを検出できます。構文は次のとおりです。パラメータ値については、上記の some() メソッドを参照してください。
array.every(function callbackfn(Value,index,array),thisValue)
実装コードを見てみましょう:
function f(value, index, ar) { if (value % 2 == 0) { return true; }else { return false; } } var a = [2,4,6,8,10,11]; var b = a.every(f); if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }
出力結果は次のとおりです:
不全为偶数
Every() は、配列内のすべての要素が条件を満たす場合にのみ true を返します。配列が条件を満たしている場合、some( ) は true を返します。
わかりました。これですべてです。必要な場合は、ご覧ください:
JavaScript ビデオ チュートリアル以上が配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。