Skip to content

@pmun/utils / transformTree

Function: transformTree()

ts
function transformTree(
   tree, 
   transformer, 
   childKey): any[];

递归转换树形结构的节点,支持重命名、新增、过滤属性。

Parameters

tree

any[]

需要处理的树形数据(根节点数组)

transformer

(node, children) => any

转换函数,接收当前节点和子节点,返回处理后的节点

childKey

string = 'children'

子节点的键名(默认为 'children'

Returns

any[]

转换后的树形结构数组

Example

ts
// 重命名 `name` 为 `label`,并添加 `isLeaf` 属性
const transformedTree = transformTree(tree, (node, children) => ({
  id: node.id,
  label: node.name,
  isLeaf: children.length === 0,
  children,
}));