Skip to content

Instantly share code, notes, and snippets.

@shsteven
Forked from ericdke/splitBy.swift
Created July 28, 2016 03:01
Show Gist options
  • Save shsteven/b237e83069a959db925680ac612f5361 to your computer and use it in GitHub Desktop.
Save shsteven/b237e83069a959db925680ac612f5361 to your computer and use it in GitHub Desktop.
Swift: split array by chunks of given size
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
extension Array {
func splitBy(subSize: Int) -> [[Element]] {
return 0.stride(to: self.count, by: subSize).map { startIndex in
let endIndex = startIndex.advancedBy(subSize, limit: self.count)
return Array(self[startIndex ..< endIndex])
}
}
}
let chunks = arr.splitBy(5)
print(chunks) // [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment