transform

GitHub查看源码
遍历树并根据 transformer 函数返回一个具有新结构的新树。

用法

transform 方法遍历树的每个节点,并使用 transformer 函数将其转换为新的形态,从而构建一棵具有新结构的树。

example.ts
import { Tree } from '@movk/core'

const tree = [{ id: 1, name: 'Admin', children: [{ id: 2, name: 'Guest' }] }]

const transformedTree = Tree.transform(tree, ({ node }) => ({
  key: node.id,
  title: node.name,
  children: [] // 转换器需要处理子节点
}))

/*
transformedTree 将会是:
[
  {
    key: 1,
    title: 'Admin',
    children: [
      { key: 2, title: 'Guest', children: [] }
    ]
  }
]
*/

API

transform<T extends TreeNode, R extends TreeNode>(tree: T[], transformer: (context: VisitorContext<T>) => R, config?: TreeConfig): R[]

参数

tree
T[] required
源树形结构数组。
transformer
(context: VisitorContext<T>) => R required
一个转换函数,对树中的每个节点调用,返回新结构的节点对象。 该函数接收一个包含以下属性的 context 对象:
config
TreeConfig
用于自定义树形结构中 id, pid, children 键名的配置对象。

返回值

R[]
返回转换后的新树形结构数组。

Changelog

No recent changes
Copyright © 2024 - 2026 YiXuan - MIT License