JSFiddle - React, Tailwind, and code Playground

by murray_3

JavaScript

global = {};
global.data = {
    "name": "My Root",
    "id": "0",   
    "children": [
        {
        "name": "first level child 1",
        "id": "1_1",
        "children": [
            {
            "name": "second level child 1",                    "id": "2_1",
            "children": [
                {
                "name": "third level child 1",
                "id": "3_1",
                "size": 3938},
            {
                "name": "third level child 2",
                "id": "3_2",
                "size": 3812}

            ]},
                    ]}
    ]
};

//called with every property and it's value
function process(key,value) {
    if(key == "name"|| key == "id") {
    document.write(" " + key + " : "+value+"<br>");
    }
}

function traverse(o,spc) {
    for (i in o) {
        //func.apply(this,[i,o[i]]);
        if(i == "name"|| i == "id") {
            document.write(spc + i + " : "+o[i]+"<br>");
    }        
        if (typeof(o[i])=="object") {
            //going on step down in the object tree!!
            ss = spc+"_"
            traverse(o[i],ss);
        }
    }
}

var testdata = {
                "name": "second level child 2",
                "id": "1_2",
                "size": 3812}
var obj = global.data;    
obj.children.[1].[{}] = testdata
//that's all... no magic, no bloated framework
var s =""
traverse(obj,s)