Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@liufsd
Forked from ericdke/splitBy.swift
Created July 13, 2017 06:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save liufsd/841b76ea4347bd42c85a749d77b25340 to your computer and use it in GitHub Desktop.
Save liufsd/841b76ea4347bd42c85a749d77b25340 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