Skip to content

Instantly share code, notes, and snippets.

@buddax2
Last active April 14, 2016 21:24
Show Gist options
  • Save buddax2/3e1c205b8901c901597d50e1e263d7b0 to your computer and use it in GitHub Desktop.
Save buddax2/3e1c205b8901c901597d50e1e263d7b0 to your computer and use it in GitHub Desktop.
Returns shuffled array
extension Array {
func shuffled() -> [Element] {
return shuffle(self)
}
func shuffle(array: [Element]) -> [Element] {
guard array.count > 1 else { return array }
var list = array
let randomIndex = Int(arc4random_uniform(UInt32(array.count)))
return [list.removeAtIndex(randomIndex)] + shuffle(list)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment