JSFiddle - React, Tailwind, and code Playground

JavaScript

const array = [
    'ADMIN_URL_REGEXP', 
    'BASE_PATH', 
    'appName', 
    'defaultToolConf',
    'defaultToolConf.graph', 
    'defaultToolConf.graph.graphApiConf', 
    'defaultToolConf.graph.graphApiConf.markerCampaignsUrl',
    'defaultToolConf.graph.graphApiConf.markerUrl', 
    'defaultToolConf.graph.graphApiConf.ndviUrl', 
    'defaultToolConf.graph.graphLineColors', 
    'defaultToolConf.query', 
    'defaultToolConf.query.canExportKml', 
    'defaultToolConf.query.isExportEnabled', 
    'defaultToolConf.query.isResizable', 
    'defaultToolConf.test', 
    'defaultToolConf.toolsPermissionsPath', 
    'token', 
    'token.format', 
    'token.key', 
    'token.paths'];

function arrayToObject(arr) {
    let newObject = {};

    arr.forEach(function(prop){
        newObject[prop] = {};
    });

    for (const key in newObject) {

        let str = key.split('.');


        if(str.length === 1) {
            
            newObject[str[str.length-1]] = {};

        } else if (str.length === 2) {
            
            newObject[str[str.length-2]][str[str.length-1]] = {};  

        } else if (str.length === 3) {
            
            newObject[str[str.length-3]][str[str.length-2]][str[str.length-1]] = {};

        } else if (str.length === 4) {
            
            newObject[str[str.length-4]][str[str.length-3]][str[str.length-2]][str[str.length-1]] = {};

        } 
        
    }

    return newObject;
}

let newObject = arrayToObject(array);
console.log(newObject);