【发布时间】:2021-02-09 23:00:00
【问题描述】:
对不起,我的英文不好,希望大家理解。我有一个数组:
var data=[
{
"id": 2,
"parent_id": 1
},
{
"id": 3,
"parent_id": 2
},
{
"id": 7,
"parent_id": 3
},
{
"id": 67,
"parent_id": 1
}
]
这就是我需要查看的结果:
[
{
"id": 2,
"parent_id": 1,
"child":[
{
"id": 3,
"parent_id": 2,
"child":[{
"id": 7,
"parent_id": 3
},
]}
]},
{
"id": 67,
"parent_id": 1
},]
我的想法是:1 个方法有同一个数组的 2 个参数。我使用嵌套循环。如果 parent_id == id 将添加字段“child”。
const getTree = function(data, maindata){
const result=data.forEach(item =>{
const child=maindata.forEach(element =>{
if(item.id === element.parent_id){
return true;
}
return false
})
getTree(child, maindata)
item.child = child;
})
return result;
}
console.log(getTree(data,data))
但它没有按应有的方式工作。希望大家帮忙。谢谢
【问题讨论】:
标签: javascript arrays recursion tree