JSFiddle - React, Tailwind, and code Playground

JavaScript

var data = {
    key1: {
        children: {
            key2: 'value',
            key3: 'value',
            key4: { a: 12 }
        },
        key5: 'value'
    }
};

var x = data.key1.children.key4;

var path = "data";
function search(path, obj, target) {
    var found = false;
    for (var k in obj) {
        if (obj.hasOwnProperty(k))
            if (obj[k] === target)
                return path + "['" + k + "']"
             else if (typeof obj[k] === "object") {
                 var result = search(path + "['" + k + "']", obj[k], target);
                 if (result)
                     return result;
                }
    }
    return false;
}

var path = search(path, data, x);
console.log(path); //data['key1']['children']['key4']