Heim > Artikel > Web-Frontend > Wie filtere ich ein Array von Objekten basierend auf Übereinstimmungen mit einem anderen Array?
Ein Array von Objekten mit einem anderen Array von Objekten filtern
Problem:
Sie möchten um ein Array von Objekten basierend auf Übereinstimmungen mit einem zweiten Array von Objekten zu filtern. Zum Beispiel bei den folgenden Arrays:
<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>
Sie müssen myArray filtern, um nur Objekte einzuschließen, deren Benutzer-ID- und Projekt-ID-Eigenschaften mit denen in myFilter übereinstimmen. Das erwartete Ergebnis ist:
<code class="js">myArrayFiltered = [ { userid: "101", projectid: "11", rowid: "1" }, { userid: "102", projectid: "12", rowid: "2" }, ];</code>
Lösung:
Um das Array zu filtern, können Sie den Filter und einige Array-Methoden verwenden:
<code class="js">const myArrayFiltered = myArray.filter((el) => { return myFilter.some((f) => { return f.userid === el.userid && f.projectid === el.projectid; }); });</code>
Erklärung:
Das obige ist der detaillierte Inhalt vonWie filtere ich ein Array von Objekten basierend auf Übereinstimmungen mit einem anderen Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!