从结构中删除重复项[重复]

Posted

技术标签:

【中文标题】从结构中删除重复项[重复]【英文标题】:remove duplicates from struct [duplicate] 【发布时间】:2019-06-25 14:05:18 【问题描述】:

我有一些结构

struct WheelBrand 
var id : String?
var name : String?

mutating func removeAll() 
    self = WheelBrand()

我附上了:

for (_,subJson):(String, JSON) in json["data"]
  let id = subJson["make_id"].stringValue
  let name = subJson["make"].stringValue
  self.itemWheelBrand.append(WheelBrand(id: id, name: name))
  

如何从我的结构中删除重复项,或者我必须附加唯一值?

【问题讨论】:

已经回答***.com/a/34712330/3141234 【参考方案1】:

您可以在完成附加到数组后通过这种方式进行过滤。

    var unique = [WheelBrand]()
    for arrValue in itemWheelBrand 
        if !unique.contains(where:  $0.id == arrValue.id ) 
            unique.append(arrValue)
        
    

【讨论】:

2 个问题:1) 使用数组进行唯一性检查会导致该算法为 O(n^2),而集合为 O(n) 2) 这错过了使用 filter 的绝佳机会或removeAll.

以上是关于从结构中删除重复项[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从 MySQL 中的大表中删除重复项的最快过程是啥

从列表中删除重复项?

从给定字符串中删除重复项(不对其进行排序)[重复]

如何使用“唯一”从向量中删除重复项?

如果两个值匹配,则从 php 中的多维关联数组中删除重复项

从 GeoFire 对象数组中删除重复项 [重复]