Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ColinEberhardt/3908cc252b823e449510 to your computer and use it in GitHub Desktop.
Save ColinEberhardt/3908cc252b823e449510 to your computer and use it in GitHub Desktop.
let array = ["P","Q","R","S","T","P","R","A","T","B","C","P","P","P","P","P","C","P","P","J"]
extension Array {
func unique<T: Equatable>() -> [T] {
return self.reduce([T](), combine: { (array, value) -> [T] in
var result = array
let valAsT = value as T
if (!contains(array, valAsT)) {
result.append(valAsT)
}
return result
})
}
}
let unique: [String] = array.unique()
println() // [P, Q, R, S, T, A, B, C, J]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment