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

別のオブジェクト配列との一致するプロパティに基づいてオブジェクト配列をフィルタリングする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 23:41:291073ブラウズ

How to Filter an Array of Objects Based on Matching Properties with Another Array of Objects?

オブジェクトの配列を別のオブジェクトの配列でフィルタリングする

次のオブジェクトの配列を考えます:

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"
}
...]

myFilter:

[
{
    userid: "101", 
    projectid: "11"
}, 
{
    userid: "102", 
    projectid: "12"
},
{
    userid: "103",
    projectid: "11"
}]

目的は、myFilter を使用して myArray をフィルタリングし、一致する userid と projectid を持つ myArray 内のオブジェクトのみをフィルタリングすることです。 myFilter 内のオブジェクトの値は、フィルタリングされた配列に含まれます。

解決策:

このフィルタリングを実現するには、フィルタといくつかの配列メソッドを使用できます:

<code class="javascript">const myArrayFiltered = myArray.filter((el) => {
  return myFilter.some((f) => {
    return f.userid === el.userid &amp;&amp; f.projectid === el.projectid;
  });
});</code>

説明:

  • フィルター メソッドは、myArray 内の各要素を反復処理します。
  • 各要素について、some メソッドを使用してチェックが行われます。 userid 値と projectid 値の両方が現在の要素と一致する要素が myFilter 内に存在する場合。
  • myFilter 内のいずれかの要素でそのような一致が見つかった場合、myArray の現在の要素が myArrayFiltered 配列に含まれます。
  • それ以外の場合は除外されます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。