Heim  >  Artikel  >  Web-Frontend  >  Wie filtere ich ein Array von Objekten basierend auf übereinstimmenden Eigenschaften mit einem anderen Array von Objekten?

Wie filtere ich ein Array von Objekten basierend auf übereinstimmenden Eigenschaften mit einem anderen Array von Objekten?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 23:41:29990Durchsuche

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

Array von Objekten mit einem anderen Array von Objekten filtern

Betrachten Sie die folgenden Arrays von Objekten:

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

Das Ziel besteht darin, myArray mithilfe von myFilter so zu filtern, dass nur Objekte in myArray mit übereinstimmender Benutzer-ID und Projekt-ID vorhanden sind Werte mit den Objekten in myFilter sind im gefilterten Array enthalten.

Lösung:

Wir können den Filter und einige Array-Methoden verwenden, um diese Filterung zu erreichen:

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

Erklärung:

  • Die Filtermethode iteriert über jedes Element in myArray.
  • Für jedes Element wird die Methode some zur Überprüfung verwendet wenn in myFilter ein Element vorhanden ist, bei dem sowohl die Benutzer-ID- als auch die Projekt-ID-Werte mit dem aktuellen Element übereinstimmen.
  • Wenn eine solche Übereinstimmung für ein beliebiges Element in myFilter gefunden wird, wird das aktuelle Element aus myArray in das myArrayFiltered-Array aufgenommen.
  • Sonst ist es ausgeschlossen.

Das obige ist der detaillierte Inhalt vonWie filtere ich ein Array von Objekten basierend auf übereinstimmenden Eigenschaften mit einem anderen Array von Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn