Chunking

Break collections into consecutive chunks by length, count, or based on closure-based logic.

Chunking.md

Overview

Chunking is the process of breaking a collection into consecutive subsequences, without dropping or duplicating any of the collection’s elements. After chunking a collection, joining the resulting subsequences produces the original collection of elements, unlike splitting, which consumes the separator element(s).

let names = ["Ji-sun", "Jin-su", "Min-jae", "Young-ho"]
let evenlyChunked = names.chunks(ofCount: 2)
// ~ [["Ji-sun", "Jin-su"], ["Min-jae", "Young-ho"]] 

let chunkedByFirstLetter = names.chunked(on: \.first)
// equivalent to [("J", ["Ji-sun", "Jin-su"]), ("M", ["Min-jae"]), ("Y", ["Young-ho"])]

Chunking a Collection by Count

Chunking a Collection by Predicate

Chunking a Collection by Subject

Supporting Types