【发布时间】:2021-06-05 15:02:11
【问题描述】:
我目前正在尝试访问一个对象及其属性,但我似乎无法找到一种方法来获取不是其各自子数组中第一项的对象。它只能找到数组中的第一个数字,但我认为我在函数中做错了事情,我不太确定如何修复它。我的错误可能是什么?如何解决?
这是树:
{
name: "One",
ids: {
id: 1,
level: 0
},
children: [
{
name: "Two",
ids: {
id: 2,
level: 1
},
children: [
{
name: "Three",
ids: {
id: 3,
level: 2
},
children: [
{
name: "Five",
ids: {
id: 5,
level: 3
},
children: [
{
name: "Eight",
ids: {
id: 8,
level: 4
},
children: []
},
{
name: "Nine",
ids: {
id: 9,
level: 4
},
children: []
},
{
name: "Ten",
ids: {
id: 10,
level: 4
},
children: []
}
]
}
]
},
{
name: "Four",
ids: {
id: 4,
level: 2
},
children: [
{
name: "Six",
ids: {
id: 6,
level: 3
},
children: []
},
{
name: "Seven",
ids: {
id: 7,
level: 3
},
children: []
}
]
}
]
}
]
}
这是我的功能:
findObj(obj, id) {
if(obj.ids.id == id) {
return obj;
}
else if(obj.children.length != 0) {
for(var i in obj.children) {
var temp = findObj(obj.children[i], id);
if(temp != undefined) {
return temp;
}
}
}
}
【问题讨论】:
标签: javascript object recursion