Maison > Article > interface Web > Comment filtrer un tableau d'objets en fonction d'un autre tableau d'objets ?
Filtrer un tableau d'objets en fonction d'un autre tableau d'objets
Problème :
Étant donné deux tableaux d'objets, le but est de filtrer le premier tableau en fonction d'un critère spécifique en utilisant le deuxième tableau comme référence. Plus précisément, nous souhaitons filtrer le premier tableau pour inclure uniquement les objets qui correspondent à des propriétés spécifiques (ID utilisateur et ID de projet) avec les objets du deuxième tableau.
Solution :
en utilisant le filtre et certaines méthodes du tableau, nous pouvons obtenir la solution suivante :
Exemple :
<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>
Résultat attendu :
<code class="js">[ { userid: "101", projectid: "11", rowid: "1" }, { userid: "102", projectid: "12", rowid: "2" } ]</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!