<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body></body>
</html>
<script>
zIndexList = [
{
id: 1,
label: "一级 1",
children: [
{
id: 4,
label: "二级 1-1",
children: [
{
id: 9,
label: "三级 1-1-1",
},
{
id: 10,
label: "三级 1-1-2",
},
],
},
],
},
{
id: 2,
label: "一级 2",
children: [
{
id: 5,
label: "二级 2-1",
},
{
id: 6,
label: "二级 2-2",
},
],
},
{
id: 3,
label: "一级 3",
children: [
{
id: 7,
label: "二级 3-1",
},
{
id: 8,
label: "二级 3-2",
children: [
{
id: 11,
label: "三级 3-2-1",
},
{
id: 12,
label: "三级 3-2-2",
},
{
id: 13,
label: "三级 3-2-3",
},
],
},
],
},
];
const getParents = (list, id ,parentArr,root) => {
parentArr =parentArr|| []
if(root){
for (let index = 0; index < list.length; index++) {
const element = list[index];
if (id == element.id) {
parentArr.unshift(element)
}else if (element.children && element.children.length) {
getParents(element, id,parentArr,false);
}
}
}else{
for (let index = 0; index < list.children.length; index++) {
const element = list.children[index];
if (id == element.id) {
parentArr.unshift(element)
getParents(zIndexList, list.id,parentArr,true);
}else if (element.children && element.children.length) {
getParents(element, id,parentArr,false);
}
}
}
return parentArr
};
var s = getParents(zIndexList,12,[],true);
console.log(s)
</script>
js tree json 递归树结构数据查找所有父级 非dom获取
最新推荐文章于 2024-01-16 21:55:25 发布