我有一个嵌套的数据 struct ,我想创建一个递归函数,给定一个对象的name参数,它将返回父对象的name参数.
然而,有几个相关的问题,答案并不能解释为什么我的function getParentName
不工作.
为什么getParentName
不起作用?
const nestedData = {
name: "parent",
children: [{ name: "child", children: [{ name: "grandchild" }] }],
};
function getParentName(nested, name) {
if (nested.children && nested.children.map((d) => d.name).includes(name)) {
return nested.name;
} else if (nested.children) {
nested.children.forEach((child) => {
return getParentName(child, name);
});
}
return undefined; //if not found
}
//The parent of "grandchild" is "child" - but the function returns undefined
const parentName = getParentName(nestedData, "grandchild");
为什么这个函数找不到父函数?