查找節點其實就是一個遍歷的過程,遍歷到滿足條件的節點則返回,遍歷完成未找到則返回null。類似數組的find方法,傳入一個函數用於判斷節點是否符合條件,代碼如下:
function treeFind (tree, func) {
for (const data of tree) {
if (func(data)) return data
if (data.children) {
const res = treeFind(data.children, func)
if (res) return res
}
}
return null
}
