How to split an array into evenly sized chunks in Swift

1 Answer

0 votes
import Foundation

extension Array {
    func chunked(into size: Int) -> [[Element]] {
        var chunks: [[Element]] = []
        var index = 0
        
        while index < self.count {
            let chunk = Array(self[index..<Swift.min(index + size, self.count)])
            chunks.append(chunk)
            index += size
        }
        
        return chunks
    }
}

let array = [1, 2, 3, 4, 5, 6, 7, 8, 9]

let chunkedArray = array.chunked(into: 3)

print(chunkedArray) 



/*
run:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

*/

 



answered Jan 5, 2025 by avibootz

Related questions

1 answer 123 views
2 answers 166 views
1 answer 127 views
1 answer 132 views
1 answer 129 views
1 answer 119 views
1 answer 126 views
...