JSFiddle - React, Tailwind, and code Playground

JavaScript

function multiDimArrayInit(dimensions, leafValue) {
        if (!dimensions.length) {
            return leafValue;
        }
        var arr = [];
        for (var i = 0; i < dimensions[0]; i++) {
            arr.push(arguments.callee(dimensions.slice(1), leafValue));
        }
        return arr;
    }
    
    
    console.log(multiDimArrayInit([2,8], "hi")); // counting the nested "hi"'s yields 16 of them