单层查找
var treeData = [{label:"111",value:"1112",children:[{label:"222",value:"2223"}]}]
treeData.reduce((accumulator, dicItem) => accumulator.concat(dicItem.children), []).find(childrenItem => childrenItem.value === "2223").label
多层查找
let nameList = [];
const arr = ["1","2"];
const treeList = [
{
id:'1',
name:'1名字',
children:[
{
id:'2',
name:'2名字',
children:[
{id:'21',name:'21名字'},
{id:'22',name:'22名字'},
{id:'23',name:'23名字'},
]
},
{id:'3',name:'3名字'},
{id:'4',name:'4名字'},
]
}
]
const fun = (data) => {
if(arr.includes(data.id)){
nameList.push({
value: data.id,
label: data.name
})
}
if(data.children){
data.children.forEach(fun)
}
}
fun(treeList[0])
console.log(nameList,'nameList')