【发布时间】:2016-01-28 09:42:55
【问题描述】:
我的数据结构如下:
obj
name
parent
name
parent
name
parent
我正在尝试执行递归函数来获取 name 元素,只要有父元素。我想出了以下代码,但它不起作用,因为它将结果转换为字符串(而不是对象)。有人可以就如何最好地实现这一目标给我一些建议。父元素的嵌套是多种多样的,不是固定的(尽管上面我只指定了 3 层)。范围从 1 到 100。
我想要的结果
我的最终目标是从层次结构中的每个“父级”中提取所有“名称”元素(并将它们推送到一个数组中)。
function getElem(obj){
var result = '';
var parent = '.parent';
var temp = '';
if(!obj.parent){
return obj.name
}
else {
//structure is obj.parent.parent.parent...name
temp += parent;
result = obj + temp + '.name';
console.log(result);
getElem(result);
}
}
getElem(e.data);
【问题讨论】:
-
那么看这个,我相信如果你想返回父对象,你将不得不返回该对象及其所有子对象。但显然它正在返回一个字符串,因为您正在返回
obj.name这是一个字符串
标签: javascript algorithm recursion javascript-objects