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如何将数组与数组进行比较并删除不匹配的项?