Skip to content

函数: getTreeParentList()

ts
function getTreeParentList<T>(
   data, 
   val, 
   key?, 
   children?): T[];

定义于: tree.ts:30

在树形数据中查找目标节点,返回从根节点到该节点的完整链路(含目标节点自身)。

采用深度优先遍历,命中后自动回溯,因此返回的数组就是「根 → … → 目标」的有序路径。

类型参数

类型参数默认类型
Tany

参数

参数类型描述
dataT[]树形数组
valT[keyof T]目标节点在 key 字段上的值
keykeyof T查找所依据的键名,默认 'id'
childrenkeyof T子级集合的键名,默认 'children'

返回值

T[]

从根到目标的节点链路数组;未找到时返回空数组 []

备注

getTreeParentItem(只取直接父级)、findTreeNodeItem(只取目标节点本身)配套使用。

示例

ts
const list = [
  {
    name: 'option1', id: 1,
    children: [
      { name: 'option1.1', id: 3 },
    ],
  },
  { name: 'option2', id: 2 },
]

getTreeParentList(list, 3, 'id', 'children')
// => [{ name: 'option1', id: 1, children: [...] }, { name: 'option1.1', id: 3 }]