JSFiddle - React, Tailwind, and code Playground
JavaScript
function grouper(array, cols) {
function split(array, cols) {
if (cols==1) return array;
var size = Math.ceil(array.length / cols);
return array.slice(0, size).concat([null]).concat(split(array.slice(size), cols-1));
}
var a = split(array, cols);
var groups = [];
var group = [];
for(var i = 0; i < a.length; i++) {
if (a[i] === null) {
groups.push(group);
group = [];
continue;
}
group.push(a[i]);
}
groups.push(group);
return groups;
}
var test1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
console.log(grouper(test1, 2));
console.log(grouper(test1, 3));
console.log(grouper(test1, 4));
console.log(grouper(test1, 5));
console.log(grouper(test1, 6));