【发布时间】:2021-07-15 00:50:59
【问题描述】:
const likedUsers = [{
id: "1"
},
{
id: "2"
}
]
const needToFilter = [{
id: "1",
userInfo: "info"
}, {
id: "2",
userInfo: "info"
},
{
id: "3",
userInfo: "info"
}
]
likedUsers.forEach(item => needToFilter.filter(needToFilter => {
return needToFilter.id !== item.id
}));
console.log(users);
我有两个这样的数组,如果需要过滤数组的用户 id 存在于 likeUsers 数组中,它需要消失。
过滤后的数组如下:
needToFilter => [{id:"3",userInfo:"info"}]
我试过forEach 和map 但结果是一样的。我知道还有另一种方法,但我不知道如何。
谢谢大家。
编辑: 在我的情况下,所有答案都很好,但我使用 Set 方法来解决我的问题。
【问题讨论】:
-
因此,如果我理解正确,您有一个名为 like 的数组和一个名为 needToFilter 的数组。您想从数组中删除所有不在 likeUsers 中的条目...对吗?
-
你在哪里分配
users? -
而不是过滤器使用
some并在找到匹配值时返回true退出它 -
或者您需要 needToFilter 数组中只有唯一元素。
标签: javascript arrays filter