JSFiddle - React, Tailwind, and code Playground
JavaScript
var family = {
"marco": {
"gender": "men",
"age": 29,
"children": {
"jen": {
"gender": "women",
"age": 14
},
"marco jr.": {
"gender": "men",
"age": 16,
"children": {
"Koos": {
"gender": "men",
"age": 1
}
}
}
}
},
"lisa": {
"gender": "women",
"age": 20
},
"mike": {
"gender": "men",
"age": 32,
"children": {
"carl": {
"gender": "women",
"age": 19
}
}
}
};
function getDescendents(family, memberName) {
function inner(children, r) {
for (var k in children) {
if (children.hasOwnProperty(k)) {
r[k] = {
age: children[k].age,
gender: children[k].gender
};
inner(children[k].children, r);
}
}
}
var r = {};
inner(family[memberName].children, r);
return r;
}
console.log(getDescendents(family, 'marco'));