原数组
nodeArr=[ {children:[ {name:"李四",id:123456}, {name:"网二",id:123456} ],
name:"张三",
id:123456
},
{name:"王二",id:666666},
{name:"王二",id:666666},
{children:[
{name:"李四", id:123456},
{name:"网二", id:123456 }
],
name:"张三",
id:123456
},
{name:"麻子",id:665556}
{children:[
{name:"李四",
id:123456,
children:[
{name:"李四三",id:123456},
{name:"网二呃",id:123456},
{name:"李四三",id:123456}
]
},
{name:"网二", id:123456 }
],
name:"张三",
id:123456
}
]
现在要去除该数组中的所有相同对象,以及对象中chilren中的相同对象
`
let diGuiQuChong = (nodeArr) => {
if (nodeArr.length) {
//对一级节点遍历
let qc = nodeArr.map(re => {
//当前若是有下级目录
if (re.children) {
//对下级目录的数组去重
let qcchild = [...new Set(re.children)]
//对下级目录的数组进行递归操作
return { ...re, children: [...new Set(diGuiQuChong(qcchild))] }
} else {
return re
}
})
return [...new Set(qc)]
} else {
return nodeArr
}
}
`