【发布时间】:2020-02-09 12:46:31
【问题描述】:
我有这个 JSON 有效负载,其中每个对象都包含一个 ID、名称和子数组。这里我需要获取所有元素的 ID,包括根和所有嵌套的子元素。
{
"_id": "-1",
"_name": "root",
"_children": [
{
"_id": "1",
"_name": "Child 1",
"_children": [
{
"_id": "1-1",
"_name": "Child 1-1",
"_children": [
{
"_id": "1-1-1",
"_name": "Child 1-1-1",
"_children": [
]
}
]
},
{
"_id": "1-2",
"_name": "Child 1-2",
"_children": [
]
},
{
"_id": "1-3",
"_name": "Child 1-3",
"_children": [
]
}
]
},
{
"_id": "2",
"_name": "Child 2",
"_children": [
{
"_id": "2-2",
"_name": "Child 2-2",
"_children": [
]
}
]
}
]
}
如何循环获取所有子节点和根节点的 ID 值?
这是我尝试使用嵌套函数的方法,但它不起作用。
getNestedChildren(arr) {
var out = []
for(var i in arr[0].children) {
out.push(arr[i].id);
if(arr[i].children && arr[i].children.size() > 0) {
var children = this.getNestedChildren(arr[i].children)
}
}
【问题讨论】:
-
你能显示预期的输出吗?
-
@Mridul [-1, 1, 1-1, 1-1-1, 1-2, 1-3, 2, 2-2]
标签: typescript tree