用另一个对象数组过滤一个对象数组
问题:
你想要根据与第二个对象数组的匹配来过滤对象数组。例如,给定以下数组:
<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>
您需要过滤 myArray 以仅包含 userid 和 projectid 属性与 myFilter 中的属性匹配的对象。预期结果是:
<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>
解释:
以上是如何根据与另一个数组的匹配来过滤对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!