Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于tree相关操作的需求 #10

Open
pmmcc opened this issue Feb 20, 2021 · 0 comments
Open

关于tree相关操作的需求 #10

pmmcc opened this issue Feb 20, 2021 · 0 comments

Comments

@pmmcc
Copy link

pmmcc commented Feb 20, 2021

tree工具类,parentid转树形结构,树形结构转parentid,挺常用的。
数据库存储的一般是id code name parentid enable,这几个字段,记录是一行一行的。
每条记录只记录了直接父id,并没有记录父节点及更上层节点的详细信息,但是前端展示又需要一个树形结构的json。
例如多级菜单的展示,提供一个节点对象,每个节点对象包括id code parentid enable data这几个属性,
只考虑id是数字的情况,不考虑id为字符串的情况。data是自定义数据,是Object类型,
毕竟用户的字段和标准api字段名称不一样,用户还是需要获取原始数据。
节点对象提供多个重载的构造器,再提供一个节点工具类对象,这个工具类,只有两个方法,集合转树,树转集合,
集合与数据库那种一行一行记录的形式对应。
如果设计的更好一点,还需要提供,

  1. 根据id获取所有包含自身的递归子节点的tree
  2. 根据id获取所有包含自身的所有父节点的集合
  3. 获取归属于当前父节点下的所有直接兄弟节点集合,不含兄弟节点的子节点和自身节点
  4. 传入节点集合,遍历获取所有集合中的节点的最靠近root的最顶层节点,不是root,获取的是集合中的每个元素的最顶层父节点
  5. 传入节点集合,遍历获取所有集合中的每个节点的直接父节点组成集合。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant