const treeData = [
{
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",
},
],
},
];
let flag = false;
const arrId = [];
const getIdArr = (arr,flag,attr)=>{
if(flag) return arrId;
arr.forEach((item)=>{
if(item[attr]) arrId.push(item[attr])
if(item.children &&item.children.length > 0 && !flag) getIdArr(item.children,flag,attr)
else flag = true
})
return arrId
}
console.log(getIdArr(treeData,flag,'id'))
console