Arrays 使用数组筛选数组
我正在搜索用户并获得所有用户的响应,但现在我创建了一个包含特定用户的组,我只想显示搜索用户对仅存在于组中的用户的响应Arrays 使用数组筛选数组,arrays,swift,Arrays,Swift,我正在搜索用户并获得所有用户的响应,但现在我创建了一个包含特定用户的组,我只想显示搜索用户对仅存在于组中的用户的响应 常规搜索返回所有用户 与一些用户分组 在组内搜索仅返回该组中的成员 我使用这个数组扩展来检查返回的所有用户的ID是否存在于数组中,如果组成员的ID存在的话 extension Array where Element: Comparable { func containsSameElements(as other: [Element]) -> Bool {
- 常规搜索返回所有用户
- 与一些用户分组
- 在组内搜索仅返回该组中的成员
数组
扩展来检查返回的所有用户的ID是否存在于数组中,如果组成员的ID存在的话
extension Array where Element: Comparable {
func containsSameElements(as other: [Element]) -> Bool {
return self.count == other.count && self.sorted() == other.sorted()
}
}
搜索的用户与组成员是不同的对象类型,但可以提取值
if userIdArray.containsSameElements(as: (self.chatContact?.members.map({$0.userId}))!) {
let search = entities
entities.removeAll()
let members = self.chatContact?.members
members?.forEach({ (users) in
let newEntities = search.filter({ $0.entityId() == users.userId})
entities.append(contentsOf: newEntities)
})
}
userIdArray是一个总搜索用户Id的数组对不起,问题是什么?@JoakimDanielson如何将数组与数组进行比较并删除不匹配的项?