Skip to content

Instantly share code, notes, and snippets.

@crypto75
Forked from ericdke/splitBy.swift
Created September 4, 2016 04:21
Show Gist options
  • Save crypto75/f22a7e1440dffa5473109be5c7c8ebe6 to your computer and use it in GitHub Desktop.
Save crypto75/f22a7e1440dffa5473109be5c7c8ebe6 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