zTree js 树形结构图算法

特殊的数据形成树形

需求

有两个数据类,一个是树形最底层的成员数据userList。一个树形中的部门数据depList,利用这两类数据形成树形。

数据

// 成员数据
const userList = [{
   
	id: 1,
	name: '张三',
	avatar: 'http://...',
	depId: 1
},{
   
	id: 2,
	name: '李四',
	avatar: 'http://...',
	depId: 2
}]

// 部门数据
const depList = [{
   
	id: 1,
	name: '部门1',
	parentId: 0
},{
   
	id: 2,
	name: '部门1',
	parentId: 1
}]

分析

形成树形网上有很多方法都可以,我这里根据需求进行改造,利用Object对象引用的特殊性(引用的Object改变后会改变原始Object)来实现这树形结构。再把树形数据填充到树形生成插件zTree中去。

考虑几点内容:

  1. 部门下是否无成员(出现空部门时当如何处理);
  2. 部门下是否无部门(出现部门下存在空部门时当如何处理);
  3. 部门下是否同时拥有成员及部门

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值