JS遍历树层级关系实现原理解析

 更新时间:2020年08月31日 10:03:27   作者:FeelRose  
这篇文章主要介绍了JS遍历树层级关系实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.遍历树的层级关系

1)先整理数据

2)找到id和数据的映射关系

3)然后找到父节点的数据,进行存储

代码如下

test() {
   const list = [
    { id: "123", parentId: "", children: [] },
    { id: "124", parentId: "123", children: [] },
    { id: "125", parentId: "124", children: [] },
    { id: "126", parentId: "125", children: [] },
    { id: "127", parentId: "126", children: [] }
   ];
   const mapList = [];
   const tree = [];
   list.forEach(item => {
    
    mapList[item.id] = item;
   });
   list.forEach(item => {
    const parentNode = mapList[item.parentId];
    if (!parentNode) {

       if (!item.children) {
         item.children = []
       }

     tree.push(item);
    } else {

      if (!parentNode.children) {
        parentNode.children = []
      }

     parentNode.children.push(item);
    }
   });
   console.log("tree", tree);
  },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • uniapp中uni-popup的具体使用

    uniapp中uni-popup的具体使用

    本文主要介绍了uniapp中uni-popup的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • JS array数组检测方式解析

    JS array数组检测方式解析

    这篇文章主要介绍了JS array数组检测方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 页面内查找

    页面内查找

    页面内查找...
    2006-09-09
  • JavaScript基础教程之如何实现一个简单的promise

    JavaScript基础教程之如何实现一个简单的promise

    看了些promise的介绍,还是感觉不够深入,所以下面这篇文章主要给大家介绍了关于JavaScript基础教程之如何实现一个简单的promise的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • JavaScript DOM操作与事件处理方法

    JavaScript DOM操作与事件处理方法

    本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵盖了基础和高级技术点,适合初学者和进阶开发者,感兴趣的朋友一起看看吧
    2025-01-01
  • JavaScript键盘事件响应顺序详解

    JavaScript键盘事件响应顺序详解

    这篇文章主要为大家详细介绍了JavaScript键盘事件响应顺序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 一文了解ES5和ES6的区别

    一文了解ES5和ES6的区别

    ES6是JavaScript语言的主要增强,允许我们编写程序,ES6适用于复杂的应用程序,尽管ES5和ES6在本质上有一些相似之处,但它们之间也有许多不同之处,下面这篇文章主要给大家介绍了关于ES5和ES6区别的相关资料,需要的朋友可以参考下
    2023-05-05
  • js实现随机div颜色位置 类似满天星效果

    js实现随机div颜色位置 类似满天星效果

    这篇文章主要为大家详细介绍了js实现随机div颜色位置,类似满天星效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 深入理解JavaScript中的Base64编码字符串

    深入理解JavaScript中的Base64编码字符串

    在我们进行前端开发时,针对项目优化,常会提到一条:针对较小图片,合理使用Base64字符串替换内嵌,可以减少页面http请求。本文整理了一些Base64编码字符串的相关知识,感兴趣的可以了解一下
    2023-02-02
  • Javascript中的this,bind和that使用实例

    Javascript中的this,bind和that使用实例

    这篇文章主要介绍了Javascript中的this,bind和that使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论