// 怎么根据 id 查找出树状结构中的对象
[
{
id:'1',
children:[...]
},
{
id:'2',
children:[...]
}
]
// 怎么根据 id 查找出树状结构中的对象
[
{
id:'1',
children:[...]
},
{
id:'2',
children:[...]
}
]
var arr = [
{
id: '1',
},
{
id: '2',
children: [{
id: '3',
},
{
id: '4',
}]
}
]
const treeFindById = (id, data) => {
let result = null;
for (let i = 0; i < data.length; i++) {
if (data[i].id === id) {
result = data[i];
break;
} else {
result = treeFindById(id, data[i].children || [])
if (result) {
break;
}
}
}
return result;
}
console.log(treeFindById('3', arr));
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
我的建议是,先遍历一次树(准确来说是森林),建好
id
到结点的映射,之后只需从映射表中取出即可