我有两个对象数组,我想遍历它们来产生一个新的过滤数组。但是,我还需要根据一个参数过滤掉新数组中的一些对象。我正在尝试这样做:
function loadAllUsersDontFollow() {
firestore()
.collection("users")
.where("id", "!=", user?.id)
.get()
.then((response) => {
const data = following.filter((follow) => {
return response.docs.reduce(function (res, item, index) {
if (item.data().id !== follow.userId) {
res.push(item);
}
return res;
}, []);
});
});
}
函数的返回与我需要的完全相反,它返回的是我已经关注的用户,而我需要的是我还没有关注的用户。请帮助我。
1条答案
按热度按时间hgc7kmma1#
如果你创建了一个hashed set的 * 追随者 * ID,这会更容易...
你可以用它来过滤用户...
您的问题是
filter()
需要从回调返回一个布尔值。您返回的数组即使为空也总是 truthy。