Разделение массива на фрагменты на разных языках программирования

Разбить массив на куски означает разделить его на более мелкие подмассивы заданного размера. Вот несколько методов, которые можно использовать для достижения этой цели на различных языках программирования:

  1. Python:

    def chunk_array(array, size):
       return [array[i:i+size] for i in range(0, len(array), size)]
  2. JavaScript:

    function chunkArray(array, size) {
       const chunks = [];
       for (let i = 0; i < array.length; i += size) {
           chunks.push(array.slice(i, i + size));
       }
       return chunks;
    }
  3. Рубин:

    def chunk_array(array, size)
       array.each_slice(size).to_a
    end
  4. PHP:

    function chunkArray($array, $size) {
       return array_chunk($array, $size);
    }
  5. Java:

    import java.util.ArrayList;
    import java.util.List;
    public class ArrayChunker {
       public static List<int[]> chunkArray(int[] array, int size) {
           List<int[]> chunks = new ArrayList<>();
           for (int i = 0; i < array.length; i += size) {
               int[] chunk = new int[Math.min(size, array.length - i)];
               System.arraycopy(array, i, chunk, 0, chunk.length);
               chunks.add(chunk);
           }
           return chunks;
       }
    }
  6. C++:

    #include <iostream>
    #include <vector>
    std::vector<std::vector<int>> chunkArray(const std::vector<int>& array, int size) {
       std::vector<std::vector<int>> chunks;
       for (int i = 0; i < array.size(); i += size) {
           std::vector<int> chunk;
           for (int j = i; j < std::min(i + size, static_cast<int>(array.size())); ++j) {
               chunk.push_back(array[j]);
           }
           chunks.push_back(chunk);
       }
       return chunks;
    }
  7. Идем:

    package main
    import "fmt"
    func chunkArray(array []int, size int) [][]int {
       chunks := [][]int{}
       for i := 0; i < len(array); i += size {
           end := i + size
           if end > len(array) {
               end = len(array)
           }
           chunks = append(chunks, array[i:end])
       }
       return chunks
    }
    func main() {
       array := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
       size := 3
       chunks := chunkArray(array, size)
       fmt.Println(chunks)
    }

Эти методы позволяют разбить массив на более мелкие фрагменты заданного размера на разных языках программирования.