JSFiddle - React, Tailwind, and code Playground

by Sean Cannon

JavaScript

function isArray (array) {
    return Object.prototype.toString.call(arr) === '[object Array]';
}

function pathUp (array, index) {
    return array[index + 1];
}

function pathIn (array) {
    if (!isArray(arr[0])) {
        array.push([]);
    }
    return array[0];
}

function generateMatrix (wide, deep) {
    var arr = [], tmpArr = [], str = '', w, d, z;
    for (w = 0; w < wide; w += 1) {        
        for (d = 0; d < deep; d += 1) {
            str += '[';
            tmpArr = [];
            for (z = 0; z < wide; z +=1) {
                tmpArr.push('[]');
            }
            str += tmpArr.join(',');
        }
        while (d > 0) {
            str += ']';
            d -= 1;
        }
        for (z = 0; z < wide; z += 1) {
           arr.push(str); 
        }
        str = '';
    }
    str = '[' + arr.join(',') + ']';
    return eval(str);
}

function scaffold (path) {
    var branches = '';
    
    path.split('^').forEach(function (index, nestedLevel) {  
        
    });

    return branches;
}

console.log(scaffold('0^0^1^0^1^0'));