<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let datas = [
{
id: '1',
name: '第一个',
children: [
{ id: '2', name: '第二十', children: []},
{ id: '3', name: '第二十1', children: []},
{ id: '4', name: '第二十2', children: [
{ id: '22', name: '第二十', children: []},
{ id: '33', name: '第二十11', children: []},
]},
]
}, {
id: '2',
name: '第一c个',
children: [
{ id: '223', name: '第二十3', children: []},
{ id: '3222', name: '第二十12', children: []},
{ id: '4222', name: '第二十22', children: [
{ id: '2222222', name: '第二2十', children: []},
{ id: '3233', name: '第二十211', children: []},
]},
]
}, {
id: '11',
name: '第一11个',
children: [
{ id: '20', name: '第二十333', children: []},
{ id: '30', name: '第二十31', children: []},
{ id: '40', name: '第二十2', children: [
{ id: '922', name: '第二3十', children: []},
{ id: '933', name: '第二十131', children: []},
]},
]
}
]
function find(id, datas) {
let name = '';
for(let i in datas) {
let item = datas[i];
if(item.id === id){
name = item.name
return name;
}
if(item.children.length){
let result = find(id, item.children)
if (result) {
return result
}
}
}
return name
}
let result = find('20', datas)
console.log(result)
</script>
</body>
</html>