ホームページ > ウェブフロントエンド > jsチュートリアル > 別のオブジェクトの配列に基づいてオブジェクトの配列をフィルタリングする方法

別のオブジェクトの配列に基づいてオブジェクトの配列をフィルタリングする方法

DDD
リリース: 2024-11-02 03:34:30
オリジナル
587 人が閲覧しました

How to Filter an Array of Objects Based on Another Array of Objects?

別のオブジェクト配列に基づいてオブジェクトの配列をフィルタリングする

問題:

2 つが与えられた場合オブジェクトの配列の場合、目的は、2 番目の配列を参照として使用し、特定の基準に基づいて最初の配列をフィルター処理することです。具体的には、最初の配列をフィルタリングして、2 番目の配列内のオブジェクトと特定のプロパティ (ユーザー ID とプロジェクト ID) に一致するオブジェクトのみを含めるようにします。

解決策:

配列内のフィルターといくつかのメソッドを利用すると、次の解決策を実現で​​きます。

  1. 最初の配列の反復:
    最初の配列でフィルター メソッドを使用して反復処理します。
  2. Match Check:
    フィルター コールバック関数内で、2 番目の配列の some メソッドを使用して、最初の配列の現在の要素と一致するオブジェクトがあるかどうかを確認します。
  3. フィルタリング:
    一致する場合、some 関数は true を返し、フィルタリングされた結果の配列にその要素が保持されます。

例:

<code class="js">const myArray = [{ userid: "100", projectid: "10", rowid: "0" },
                { userid: "101", projectid: "11", rowid: "1" },
                { userid: "102", projectid: "12", rowid: "2" },
                { userid: "103", projectid: "13", rowid: "3" },
                { userid: "101", projectid: "10", rowid: "4" }];

const myFilter = [{ userid: "101", projectid: "11" },
                { userid: "102", projectid: "12" },
                { userid: "103", projectid: "11" }];

const myArrayFiltered = myArray.filter((el) => {
  return myFilter.some((f) => {
    return f.userid === el.userid && f.projectid === el.projectid;
  });
});

console.log(myArrayFiltered);</code>
ログイン後にコピー

期待される結果:

<code class="js">[
  { userid: "101", projectid: "11", rowid: "1" },
  { userid: "102", projectid: "12", rowid: "2" }
]</code>
ログイン後にコピー

以上が別のオブジェクトの配列に基づいてオブジェクトの配列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート