Javascript:
function array_chunk( input, size ) { // Split an array into chunks
//
// + original by: Carlos R. L. Rodrigues
for(var x, i = 0, c = -1, l = input.length, n = []; i < l; i++){
(x = i % size) ? n[c][x] = input[i] : n[++c] = [input[i]];
}
return n;
}
Примеры:
array_chunk(['Kevin', 'van', 'Zonneveld'], 2);
{0 : {0: 'Kevin', 1: 'van'} , 1 : {0: 'Zonneveld'}}
|
|
|
|
жаль, не хватает последнего аргумента функции:
array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )
Накатал варик чуть попроще (или нет)
const array_chunk = (x, len) => x.reduce((r, i) => { r.length > 0 || r.push([]); r[r.length - 1].length === len ? r.push([i]) : r[r.length - 1].push(i); return r}, [])