배열을 다시 계산하는 수식이 있습니다 (예 : var Array = [a,s,d,s,f,g,g,h,e]
). 내가 원하는 것은 for
루프 또는 다른 값을 a,s,d,f,g,h,e
으로 돌려주는 옵션입니다. 유일한 값입니다. 스위프트와 어떻게이 일을 할 수 있습니까?Swift를 사용하여 배열의 고유 한 요소를 표시하는 방법은 무엇입니까?
5
A
답변
10
당신은 순서 상관하지 않는 경우 :
사용이 확장, 중복을 제거 할 수 있습니다 : 당신이 주문을 걱정하는 경우
let set: Set = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
print(set) // ["a", "s", "f", "g", "e", "d", "h"]
:
간단히 세트를 사용 순서를 유지하면서 AnySequence의 요소 :
extension Sequence where Iterator.Element: Hashable {
func unique() -> [Iterator.Element] {
var alreadyAdded = Set<Iterator.Element>()
return self.filter { alreadyAdded.insert($0).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"]
요소의 순서는 신경 씁니까? – Alexander