Skip to content

@longmo-utils/common / traverseTreeValues

Function: traverseTreeValues()

ts
function traverseTreeValues<T, V>(
   tree, 
   getValue, 
   options?): V[];

遍历树形结构,并返回所有节点中指定的值

使用深度优先遍历(DFS)遍历树形结构的所有节点,提取每个节点的指定值

Type Parameters

Type ParameterDescription
T树节点类型
V节点值的类型

Parameters

ParameterTypeDescription
treeT[]树形结构数组
getValue(node) => V获取节点值的函数
options?TreeConfigOptions配置选项

Returns

V[]

所有节点中指定的值的数组

Examples

typescript
const tree = [
  { id: 1, name: 'A', children: [{ id: 2, name: 'A-1' }] },
  { id: 3, name: 'B' }
];
const ids = traverseTreeValues(tree, node => node.id);
console.log(ids); // [1, 2, 3]
typescript
const tree = [
  { id: 1, items: [{ id: 2 }] }
];
const ids = traverseTreeValues(
  tree,
  node => node.id,
  { childProps: 'items' }
);
typescript
const names = traverseTreeValues(tree, node => node.name);
console.log(names); // ['A', 'A-1', 'B']

Released under the MIT License.