Swift 模型数组去重 - lidaoyuan/Notes GitHub Wiki
extension Array {
func handleFilter<E: Equatable>(_ filterCall: (Element) -> E) -> [Element] {
var temp = [Element]()
for model in self {
let identifer = filterCall(model)
if !temp.map( { filterCall($0) } ).contains(identifer) {
temp.append(model)
}
}
return temp
}
}
// 调用
self.searchList = self.searchList.handleFilter({ $0.userId })
// $0.userId 过滤条件