配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習

青灯夜游
リリース: 2021-08-26 17:24:51
オリジナル
6188 人が閲覧しました

前回の記事「JS配列学習:配列を走査して要素の値を2倍にする」では、配列を走査して配列内の各要素を処理する方法を紹介しました。今回は配列トラバーサルについて引き続き説明し、すべての配列要素が指定された条件を満たしているかどうかを検出するいくつかの方法を紹介します。必要な友人はそれについて学ぶことができます~

それでは、配列内の要素が満たしているかどうかを判断する方法指定された条件は?たとえば、配列を走査して、配列内のすべての要素が偶数であるかどうかを確認します。

以下に 3 つの方法を紹介します。まずおなじみの for ループから始めて、次に 2 つの組み込み関数を紹介します。それらを使用して検出する方法を見てみましょう。

#方法 1: for ループを使用する

#実装アイデア:

    ##for ステートメントを使用して配列を走査する
  • for(var i=0;i<a.length;i++){
    }
    ログイン後にコピー
    配列内の要素がすべて偶数であるかどうかを確認します。逆に、1 つが偶数でない限り、「すべてが偶数ではない」ことを取得できます。
  • したがって、実装コードは次のように記述できます:
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("不全为偶数");
}
ログイン後にコピー

分析コード:


    中間変数
  • b

    値 0 を代入します。配列要素が偶数の場合、b は 1 増加します。配列要素が偶数でない場合、b の値は再び 0 になり、次の値を使用します。 「break;」でループを終了します。

  • このとき、変数 b の値を判断することで、配列内の要素が偶数であるかどうかを知ることができます。
  • b>0

    の場合、それらは偶数です。すべて偶数; b=0 がすべて偶数ではない場合。

  • 配列の要素 5 は偶数ではないため、出力結果は次のようになります:


配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習

方法 2: some() メソッド

some() メソッドを使用して、配列内に条件を満たす要素があるかどうかを検出します。見方を変えると、配列内のすべての要素が指定した条件を満たしていないかどうかを検出するためにも使用できます。指定した条件を満たしていない場合は false を返し、1 つ以上の要素が一致した場合は、結果を返します。 trueを返します。 (上記のコードと同じ考え方)

array.some(function callbackfn(Value,index,array),thisValue)
ログイン後にコピー

function callbackfn(value,index,array)

: コールバック関数。省略できず、最大 3 つのパラメータを受け入れることができます。

    value: 現在の配列要素の値。省略できません。
  • index: 現在の配列要素の数値インデックス。
  • array: 現在の要素が属する配列オブジェクト。
  • 実装コードを見てみましょう:
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("都是偶数");
}
ログイン後にコピー

配列内の要素はすべて偶数であるため、出力結果は次のようになります。

配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習配列要素 12 を 11 に変更すると、出力結果は次のようになります。

配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習

方法 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() メソッドと some() メソッドの違い:

Every() は、配列内のすべての要素が条件を満たす場合にのみ true を返します。配列が条件を満たしている場合、some( ) は true を返します。

わかりました。これですべてです。必要な場合は、ご覧ください:

JavaScript ビデオ チュートリアル

以上が配列要素が指定された条件を満たしているかどうかを判断するための JS 配列の学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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