gpt4 book ai didi

javascript - 使用递归函数从父节点获取数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:43:17 26 4
gpt4 key购买 nike

我的数据结构如下:

obj
name
parent
name
parent
name
parent

只要有父元素,我就尝试执行递归函数来获取名称元素。我想出了以下代码,但它不起作用,因为它将结果转换为字符串(而不是对象)。有人可以给我一些关于如何最好地实现这一目标的建议。父元素的嵌套是多种多样的,而不是固定的(尽管上面我只指定了 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);

最佳答案

function getElem(obj, arr) {
arr = arr || [];
if (obj.name) {
arr.push(obj.name);
}

if (obj.parent) {
return (getElem(obj.parent, arr));
}
else {
return (arr);
}
}

JSFiddle

关于javascript - 使用递归函数从父节点获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33394072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com