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 115 views
2 answers 152 views
1 answer 118 views
1 answer 122 views
1 answer 120 views
1 answer 110 views
1 answer 117 views
...