/*
id: 子节点的pid,
pid: 0代表顶级数据 父id相当于子数据的pid
label: 信息
children: 数组 子节点数据
*/
data = [{
id: 1,
pid:0,
label: '一中队',
children: [{
pid: 1,
id: 4,
label: '一支队',
children: [{
pid: 4,
id: 9,
label: '张三'
}, {
pid: 4,
id: 10,
label: '李四'
}]
}]
}, {
id: 2,
pid:0,
label: '二中队',
children: [{
id: 5,
pid:2,
label: '二支队'
}, {
id: 6,
pid: 2,
label: '三支队'
}]
}, {
id: 3,
pid:0,
label: '三中队',
children: [{
id: 7,
pid: 3,
label: '四支队'
}, {
id: 8,
pid: 3,
label: '五支队'
}]
},{
id: 4,
pid:0,
label: '四中队',
}]
var returnedItem = []; //定义一个空数组
function find(arr, pid){
//利用foreach循环遍历
arr.forEach((item) => {
//判断递归结束条件
if(item.pid == pid)
{
// 存储数据到空数组
returnedItem.push(item);
}
else if(item.children != null) //判断chlidren是否有数据
{
//递归调用
find(item.children, pid);
}
})
return returnedItem;
}
var item = new find(data, 2);
console.log(item)
js递归遍历树形数据通过pid获取想要的节点信息
最新推荐文章于 2023-07-18 21:46:54 发布