首頁  >  文章  >  web前端  >  如何根據與另一個數組的匹配來過濾物件數組?

如何根據與另一個數組的匹配來過濾物件數組?

Barbara Streisand
Barbara Streisand原創
2024-11-01 08:39:02396瀏覽

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

用另一個物件陣列過濾一個物件陣列

問題:

問題:
<code class="js">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" },
];</code>

<code class="js">myArrayFiltered = [
  { userid: "101", projectid: "11", rowid: "1" },
  { userid: "102", projectid: "12", rowid: "2" },
];</code>
問題:

問題:

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

問題:

    問題:
  • 問題:
問題:問題:你想要🎜>你想要根據與第二個物件數組的匹配來過濾物件數組。例如,給定以下陣列:您需要過濾 myArray 以僅包含 userid 和 projectid 屬性與 myFilter 中的屬性相符的物件。預期結果為:解:要過濾數組,可以使用過濾器和一些數組方法: 解釋:filter 方法迭代myArray 並建立一個新數組,僅包含滿足作為參數提供的條件的物件。 some 方法,在條件中使用,檢查 myFilter 中的任何元素是否與 myArray 中目前元素的 userid 和 projectid 屬性相符。 如果找到匹配,則 some 方法傳回 true,表示當前元素應包含在過濾後的陣列中。

以上是如何根據與另一個數組的匹配來過濾物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn