lodashrust/array/
chunk.rs

1#![allow(dead_code)]
2
3pub fn chunk<T: Clone>(arr: &Vec<T>, mut chunk_size: usize) -> Vec<Vec<T>> {
4    let mut chunks = Vec::new();
5    let mut i = 0;
6
7    if chunk_size <= 0 {
8        chunk_size = 1
9    }
10
11    while i < arr.len() {
12        let end = (i + chunk_size).min(arr.len());
13        chunks.push(arr[i..end].to_vec());
14        i += chunk_size;
15    }
16
17    chunks
18}