美文网首页
swift中, 去除数组中元素的属性相同的元素

swift中, 去除数组中元素的属性相同的元素

作者: 小冰山口 | 来源:发表于2023-12-10 22:42 被阅读0次
extension Array {
    /// 过滤数组中某个属性相同的元素
    /// - Parameter key: 需要过滤的属性
    /// - Returns: 过滤后的数组
    /// - Note: 这个方法只能过滤数组中的元素是对象的情况
    /// - Warning: 这个方法只能过滤数组中的元素是对象的情况
    func removeDuplicates<T: Equatable>(_ key: KeyPath<Element, T>) -> [Element] {
        var result = [Element]()
        for item in self {
            let elements = result.map { $0[keyPath: key] }
            if !elements.contains(item[keyPath: key]) {
                result.append(item)
            }
        }
        return result
    }
}

相关文章

网友评论

      本文标题:swift中, 去除数组中元素的属性相同的元素

      本文链接:https://www.haomeiwen.com/subject/mgipgdtx.html