Removing duplicate elements from an array in Swift

后端 未结 30 2049
遥遥无期
遥遥无期 2020-11-22 00:07

I might have an array that looks like the following:

[1, 4, 2, 2, 6, 24, 15, 2, 60, 15, 6]

Or, reall

30条回答
  •  难免孤独
    2020-11-22 00:35

    Swift 4.x:

    extension Sequence where Iterator.Element: Hashable {
      func unique() -> [Iterator.Element] {
        return Array(Set(self))
      }
    
      func uniqueOrdered() -> [Iterator.Element] {
        return reduce([Iterator.Element]()) { $0.contains($1) ? $0 : $0 + [$1] }
      }
    }
    

    usage:

    ["Ljubljana", "London", "Los Angeles", "Ljubljana"].unique()
    

    or

    ["Ljubljana", "London", "Los Angeles", "Ljubljana"].uniqueOrdered()
    

提交回复
热议问题