D 语言实现 PHP array_chunk 函数:原生方法和库函数
以下是 D 语言的原生实现和库函数实现:
原生实现:
import std.range;
import std.algorithm.iteration;
import std.array;
T[][] arrayChunk(T)(T[] arr, size_t size)
{
T[][] result;
foreach (i, chunk; arr.chunks(size))
{
result ~= chunk.array;
}
return result;
}
void main()
{
int[] arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
int[][] chunks = arrayChunk(arr, 3);
writeln(chunks);
}
库函数实现:
import std.range;
import std.algorithm.iteration;
import std.array;
void main()
{
int[] arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
int[][] chunks = arr.chunks(3).map!(a => a.array).array;
writeln(chunks);
}
完整代码可直接运行。
原文地址: https://www.cveoy.top/t/topic/oeeQ 著作权归作者所有。请勿转载和采集!