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));