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)