这个问题类似于这个问题 Jquery filter array of object with loop,但这次我需要使用对象数组进行过滤。
示例:
我有一个像这样的对象数组:
示例:
我有一个像这样的对象数组:
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"
}]
并返回这个结果(在 myFilter 中的 userid 和 projectid 需要与 myArray 中的 userid 和 projectid 匹配):
myArrayFiltered = [
{
userid: "101",
projectid: "11",
rowid: "1"
},
{
userid: "102",
projectid: "12",
rowid: "2"
}]
我该如何做到这一点?
不等于!==
但在我的情况下这并不起作用。那么还有其他方法可以使用不等于条件吗? 请查看我的实时示例:https://playcode.io/586682/ - TMAmyArray.filter(el => myFilter.some(f => f.userid === el.userid && f.projectid === el.projectid))
。 - Ivarrowid
的数组,这个代码会如何工作呢?(例如:rowid: ["1", "2"]
并且另一个数组至少匹配其中一个)。我已经在我的项目中使用了上面的代码成功地过滤了difficulty
,因为它只有一个值,但是我有一个tags
的数组需要过滤。所以,如果我的array1
包含array2
中的任何一个tag
,则输出一个新的结果数组? - Anake.me