ExtensionArray.swift 707 B

123456789101112131415161718192021222324252627282930
  1. import Foundation
  2. extension Array {
  3. func shuffled() -> [Element] {
  4. var results = [Element]()
  5. var indexes = (0 ..< count).map { $0 }
  6. while indexes.count > 0 {
  7. let indexOfIndexes = Int(arc4random_uniform(UInt32(indexes.count)))
  8. let index = indexes[indexOfIndexes]
  9. results.append(self[index])
  10. indexes.remove(at: indexOfIndexes)
  11. }
  12. return results
  13. }
  14. }
  15. extension Array where Element == UInt8 {
  16. var data : Data{
  17. return Data(bytes:(self))
  18. }
  19. }
  20. extension Array{
  21. func json() throws -> Data {
  22. return try JSONSerialization.data(withJSONObject: self, options: .prettyPrinted)
  23. }
  24. }