JSFiddle - React, Tailwind, and code Playground

JavaScript

function nArray() {
    var arr = new Array();
    var args = Array.prototype.slice.call(arguments, 1);
    for(var i=0;i<arguments[0];i++) {
        arr[i] = (arguments.length > 1 && nArray.apply(this, args)) || undefined;
    }
    return arr;
}

function testNArray() {
    console.log('nArray(3)');
    var arr0 = nArray(3);
    if(arr0[0] !== undefined) {
        console.log('Failed: arr0[0][0] === undefined');
        return;
    }
    
    console.log('nArray(1, 2)');
    var arr1 = nArray(1, 2);
    if(arr1[0][0] !== undefined) {
        console.log('Failed: arr1[0][0] === undefined');
        return;
    }
    arr1[0][0] = 'A';
    arr1[0][1] = 'B';
    console.log(arr1);
    
    console.log('nArray(2, 1)');
    var arr2 = nArray(2, 1);
    console.log('arr2[0]=', arr2[0]);
    
    console.log('nArray(2, 2, 2)');
    var arr = nArray(2, 2, 2);
    arr[0][0][0] = 'A';
    arr[0][0][1] = 'B';
    arr[0][1][0] = 'C';
    arr[0][1][1] = 'D';
    arr[1][0][0] = 'E';
    arr[1][0][1] = 'F';
    arr[1][1][0] = 'G';
    arr[1][1][1] = 'H';
    for(var i=0;i<2;i++) {
        for(var j=0;j<2;j++) {
            for(var k=0;k<2;k++) {
                console.log(arr[i][j][k]);
            }
        }
    }
}

testNArray();