このチュートリアルでは、オブジェクトの配列からプロパティに基づいて一意のオブジェクトを抽出する方法を学習します。場合によっては、特定のプロパティに基づいてオブジェクトの配列からオブジェクトをフィルター処理する必要があります。
たとえば、オブジェクトを識別するキーとして ID があります。したがって、配列には単一の ID を持つ単一のオブジェクトのみが含まれていることを確認する必要があります。 2 つ以上のオブジェクトに同じ主キー値が含まれている場合、オブジェクトの一意の識別に問題が発生する可能性があります。
ここでは、特定のプロパティに基づいて配列からすべての一意のオブジェクトをフィルターするさまざまな方法を学びます。
JavaScript では、Map に一意のキーと値のペアを保存できます。さらに、マップのキーを使用して、O(1) の時間計算量でマップから任意の値を取得できます。したがって、オブジェクトの配列を反復処理し、キーと値のペアを Map に保存します。さらに、マップに特定のプロパティ値を持つオブジェクトが含まれているかどうかを確認しますが、そのオブジェクトを新しいオブジェクトの配列に追加することはありません。
###文法###上記の構文では、マッピングを使用して一意の emp_id を持つオブジェクトを保存します。
###アルゴリズム###ステップ 1
ステップ 2
ステップ 3
ステップ 4
ステップ 5
ステップ 6
ステップ 7
###例### 次の例では、Map と for-of ループを使用して属性ごとに一意のオブジェクトを抽出するアルゴリズムを実装します。重複した emp_id 値を持つ 4 つの異なるオブジェクトを含む従業員の配列を作成し、上記のアルゴリズムを使用してすべての一意のオブジェクトを抽出しています。
リーリー上記の例と同様に、マップを使用して属性値を保存し、マップにその値が既に含まれているかどうかを確認します。そうである場合は次に進みます。そうでない場合は、値をマップに追加して配列をフィルターします。
###文法###ステップ 1
ステップ 2
ステップ 3
ステップ 4
ステップ 5
###例### この例では、filter() メソッドを使用して、配列の website_name によってすべての Web サイト オブジェクトをフィルターします。出力では、filter() メソッドが一意の website_name を含む 2 つのオブジェクトのみを返すことがわかります。
リーリー以上がJavaScript でプロパティごとにオブジェクトの配列から一意のオブジェクトを抽出するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。