JSFiddle - React, Tailwind, and code Playground

by Danny Michaelis

JavaScript

var flattenObject = function (ob) {
    var toReturn = ob;
    for (var i in ob) {
        if (!ob.hasOwnProperty(i)) continue;
        if ((typeof ob[i]) == 'object') {
            var flatObject = flattenObject(ob[i]);
            for (var x in flatObject) {
                if (!flatObject.hasOwnProperty(x)) continue;
                toReturn[i + '.' + x] = flatObject[x];
            }
        } else {
            toReturn[i] = ob[i];
        }
    }
    return toReturn;
}
var obj = {
    x: 1,
    y: 'a',
    z: {
        eks: 1,
        why: 'a',
        zee: {
            punchLine: 'orange you glad i didn\'t say banana'
        }
    }
};

console.log(flattenObject(obj));
console.log(flattenObject(obj)['z.zee.punchLine'])