8月5日 打卡day11
今日学习:构造高性能的树状结构
1、常见树状结构与扁平树状结构
①常见树状结构:嵌套的形式,每层数组中的item都会有一个children
②扁平树状结构:每个item都扁平化平铺在第一层,都有各自的parentId与childrenIds
2、两者父节点
①常见树状结构:没有专门的根节点
②扁平树状结构:有一个item专门来表示根节点
3、两者子节点
①常见树状结构:子节点都是在父节点的children数组下的每一项
②扁平树状结构:每一项都可以当成是子节点,各自拥有一个parentId
4、两者渲染
都是通过map进行遍历渲染
5、两者添加
①常见树状结构:需要先拿到这个父节点的key,对整个数组遍历找到对应的item拎出来push进他的children,然后重新构造一个新的数组对象
②扁平树状结构:不需要递归循环遍历整课树,先在Map新增一条子数据,直接放在数据结构末尾,然后再给对应的父节点的childrenIds中push这个子项的id即可
6、两者修改
①常见树状结构:根据key遍历找出该节点,然后修改,最后构造新的数组结构
②扁平树状结构:拿到想修改的id后,可以直接修改
7、两者删除
①常见树状结构:先遍历,再删除,最后构造新的数组
②扁平树状结构:直接delete对应id的项即可,如果删除项有父节点,可以在对应parentId中的childrenIds移除对应的id
今日学习:构造高性能的树状结构
1、常见树状结构与扁平树状结构
①常见树状结构:嵌套的形式,每层数组中的item都会有一个children
②扁平树状结构:每个item都扁平化平铺在第一层,都有各自的parentId与childrenIds
2、两者父节点
①常见树状结构:没有专门的根节点
②扁平树状结构:有一个item专门来表示根节点
3、两者子节点
①常见树状结构:子节点都是在父节点的children数组下的每一项
②扁平树状结构:每一项都可以当成是子节点,各自拥有一个parentId
4、两者渲染
都是通过map进行遍历渲染
5、两者添加
①常见树状结构:需要先拿到这个父节点的key,对整个数组遍历找到对应的item拎出来push进他的children,然后重新构造一个新的数组对象
②扁平树状结构:不需要递归循环遍历整课树,先在Map新增一条子数据,直接放在数据结构末尾,然后再给对应的父节点的childrenIds中push这个子项的id即可
6、两者修改
①常见树状结构:根据key遍历找出该节点,然后修改,最后构造新的数组结构
②扁平树状结构:拿到想修改的id后,可以直接修改
7、两者删除
①常见树状结构:先遍历,再删除,最后构造新的数组
②扁平树状结构:直接delete对应id的项即可,如果删除项有父节点,可以在对应parentId中的childrenIds移除对应的id
展开
评论
点赞