JSFiddle - React, Tailwind, and code Playground
by Sam Fereday
HTML
<div id="output"></div>
JavaScript
var json = [{
"name": "level1",
"children": [{
"id": "1",
"children": [{
"id": "1a"
},
{
"id": "2a"
}]
},
{
"id": "2",
"children": [{
"id": "1b"
},
{
"id": "2b"
}]
}]
}]
function get(id, data) {
var i = 0,
len = data.length,
searchProperty = searchProperty || "Id",
found;
for(i; i < len; i+=1) {
if(data[i][searchProperty] === Id) {
return data[i];
}
if(data[i].hasOwnProperty('children')){
found = get(Id, data[i].children);
}
}
if(typeof found === 'object') {
return found;
} else {
return null;
}
}
var output = get("1b", json);
console.log("Output:", output);
document.getElementById('output').innerHTML = output.id;