如何使用 Swift 显示数组的唯一元素?
How to display unique elements of an array using Swift?
我有一个重新调整数组的公式作为示例 var Array = [a,s,d,s,f,g,g,h,e]
。我想要的是 运行 一个 for
循环或其他一些让我返回 a,s,d,f,g,h,e
的选项 - 只有唯一值。我如何使用 ios Swift 来做到这一点?
如果您不关心顺序:
简单用一套:
let set: Set = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
print(set) // ["a", "s", "f", "g", "e", "d", "h"]
如果您关心顺序:
使用此扩展,它允许您删除任何 Sequence
的重复元素,同时保留顺序:
extension Sequence where Iterator.Element: Hashable {
func unique() -> [Iterator.Element] {
var alreadyAdded = Set<Iterator.Element>()
return self.filter { alreadyAdded.insert([=11=]).inserted }
}
}
let array = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
let result = array.unique()
print(result) // ["a", "s", "d", "f", "g", "h", "e"]
我有一个重新调整数组的公式作为示例 var Array = [a,s,d,s,f,g,g,h,e]
。我想要的是 运行 一个 for
循环或其他一些让我返回 a,s,d,f,g,h,e
的选项 - 只有唯一值。我如何使用 ios Swift 来做到这一点?
如果您不关心顺序:
简单用一套:
let set: Set = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
print(set) // ["a", "s", "f", "g", "e", "d", "h"]
如果您关心顺序:
使用此扩展,它允许您删除任何 Sequence
的重复元素,同时保留顺序:
extension Sequence where Iterator.Element: Hashable {
func unique() -> [Iterator.Element] {
var alreadyAdded = Set<Iterator.Element>()
return self.filter { alreadyAdded.insert([=11=]).inserted }
}
}
let array = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
let result = array.unique()
print(result) // ["a", "s", "d", "f", "g", "h", "e"]