Maison > Article > interface Web > Comment filtrer un tableau d'objets en fonction des correspondances avec un autre tableau ?
Filtrer un tableau d'objets avec un autre tableau d'objets
Problème :
Vous voulez pour filtrer un tableau d'objets en fonction des correspondances avec un deuxième tableau d'objets. Par exemple, étant donné les tableaux suivants :
<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>
Vous devez filtrer myArray pour inclure uniquement les objets dont les propriétés userid et projectid correspondent à celles de myFilter. Le résultat attendu est :
<code class="js">myArrayFiltered = [ { userid: "101", projectid: "11", rowid: "1" }, { userid: "102", projectid: "12", rowid: "2" }, ];</code>
Solution :
Pour filtrer le tableau, vous pouvez utiliser le filtre et certaines méthodes de tableau :
<code class="js">const myArrayFiltered = myArray.filter((el) => { return myFilter.some((f) => { return f.userid === el.userid && f.projectid === el.projectid; }); });</code>
Explication :
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!