JSFiddle - React, Tailwind, and code Playground

by a_robson

HTML

<div id="test1"></div>

JavaScript

model1 = {
    test1: "Hello World",
    test2: "Goodbye, cruel world.",
    test3:
    {
        a: "Uh",
        b: "dUh",
        c: "Fuuuuuh" 
    }
};

getProperties = function(model, prefix, properties) {
    try {
        if (properties === undefined) {
            properties = Object();   
        }
        if (prefix === null) {
            prefix = '';
        }
        var name;
        for (name in model) {
            var elementType;
            elementType = typeof model[ name ];
            if (elementType !== 'function') {
                var itemName;
                itemName = prefix === undefined ? name : prefix + '.' + name;
                //properties.push( itemName );
                properties[ itemName ] = model[ name ];
                if (elementType === 'object') {
                    var child;
                    child = model[ name ];
                    getProperties(child, itemName, properties);
                    //properties = properties.concat(getProperties(child, itemName));
                }
            }
        }
        return properties;
    }
    catch (exception1) {
        alert(exception1);
    }
};

go = function() {
    var propertyTree;
    propertyTree = getProperties(model1);
    alert( propertyTree.length );
    try
    {
        var item;
        for( item in propertyTree ) {
            
            $("#test1").append( item + " => " + propertyTree[ item ] + "<br/>" );
        }
    }
    catch( exception1 )
    {
        alert( exception1 );   
    }
};

$(function() {
    go();
});