Chunk an Array
Split an array into chunks of a fixed size — used for batching API calls or building grid rows. Print each chunk on its own line.
Sample input
[1,2,3,4,5,6,7], size = 3
Sample output
1 2 3
4 5 6
7
Solution
arr = [1, 2, 3, 4, 5, 6, 7]
size = 3
for i in range(0, len(arr), size):
print(*arr[i:i + size])
const arr = [1, 2, 3, 4, 5, 6, 7];
const size = 3;
for (let i = 0; i < arr.length; i += size) {
console.log(arr.slice(i, i + size).join(" "));
}
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
int size = 3;
for (int i = 0; i < arr.length; i += size) {
int end = Math.min(i + size, arr.length);
StringBuilder sb = new StringBuilder();
for (int j = i; j < end; j++) {
sb.append(arr[j]);
if (j < end - 1) sb.append(" ");
}
System.out.println(sb.toString());
}
}
}
fun main() {
val arr = listOf(1, 2, 3, 4, 5, 6, 7)
val size = 3
arr.chunked(size).forEach { println(it.joinToString(" ")) }
}
let arr = [1, 2, 3, 4, 5, 6, 7]
let size = 3
var i = 0
while i < arr.count {
let end = min(i + size, arr.count)
print(arr[i..<end].map(String.init).joined(separator: " "))
i += size
}
void main() {
final arr = [1, 2, 3, 4, 5, 6, 7];
const size = 3;
for (var i = 0; i < arr.length; i += size) {
final end = (i + size) < arr.length ? i + size : arr.length;
print(arr.sublist(i, end).join(' '));
}
}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> arr = {1, 2, 3, 4, 5, 6, 7};
int size = 3;
for (int i = 0; i < (int) arr.size(); i += size) {
int end = min(i + size, (int) arr.size());
for (int j = i; j < end; j++) {
cout << arr[j];
if (j < end - 1) cout << " ";
}
cout << endl;
}
return 0;
}
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7};
int n = 7, size = 3;
for (int i = 0; i < n; i += size) {
int end = i + size < n ? i + size : n;
for (int j = i; j < end; j++) {
printf("%d", arr[j]);
if (j < end - 1) printf(" ");
}
printf("\n");
}
return 0;
}