JSFiddle - React, Tailwind, and code Playground

JavaScript

var a = {
    a1: {
        a2: {
            a3: false
        }
    }
};

var path = ['a1', 'a2', 'a3'];

var valueToSet = true;
setValue(0, a);

function setValue(level, ob) {
    var prop = path[level];

    if (!ob.hasOwnProperty(prop)) {
        return;
    }
    if (level == (path.length - 1)) {
        ob[prop] = valueToSet;
        return;
    }
    
    return setValue(level + 1, ob[prop]);
    
}
console.log(a);