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