博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
列表数据转树形数据
阅读量:7230 次
发布时间:2019-06-29

本文共 864 字,大约阅读时间需要 2 分钟。

let listToTree = (list, id = 'id', pId = 'pId') => {    let map = {},        listMap = {},        rootList = [];    for (let i = 0, max = list.length; i < max; i++) {        let one = Object.assign({}, list[i]);        map[one[id]] = one;        if (listMap[one[id]]) {            one.children = listMap[one[id]];        }        if (one.hasOwnProperty(pId) && one[pId] !== '') {            if (map[one[pId]]) {                let c = map[one[pId]].children || (map[one[pId]].children = []);                c.push(one);            } else {                if (!listMap[one[pId]]) listMap[one[pId]] = [one];                else listMap[one[pId]].push(one);            }        } else {            rootList.push(one);        }    }    return { list: rootList, map };};

使用

let data=[{    id:1,    text:'1'},{    id:2,    pId:1,    text:'2'}];let tree=listToTree(data);

转载地址:http://qycfm.baihongyu.com/

你可能感兴趣的文章
Python学习教程(Python学习路线):Python 3—手动创建迭代器
查看>>
说说如何在 Virtual Box 中新建 CentOS 虚拟机
查看>>
Cordova + Vue 实现点击两次退出应用
查看>>
JAVA 多用户商城系统b2b2c-Spring Cloud Stream 介绍
查看>>
spring cloud构建互联网分布式微服务云平台-SpringCloud集成项目简介
查看>>
基于房源的画像分析
查看>>
80% UI 初学者走过的弯路,你走了几条?
查看>>
文档和元素的几何滚动
查看>>
php 设计模式
查看>>
Java springcloud B2B2C o2o多用户商城 springcloud架构(八)springboot整合mongodb
查看>>
3年工作经验的Java程序员面试经过
查看>>
Mysql 批量写入数据,对于这类性能问题,你是如何优化的
查看>>
MySQL无法启动几种常见问题小结
查看>>
阿里CTO:阿里所有技术和产品输出都将必须通过阿里云进行
查看>>
更好用的集群限流功能,Sentinel 发布 v1.4.2
查看>>
Python(生成执行文件)
查看>>
redis安装配置 - ttlsa教程系列之redis
查看>>
Linux --DHCP服务器配置;DHCP服务器中继
查看>>
IE版本多的可爱_已迁移
查看>>
eclipse查看jar包中class的中文注释乱码问题的解决
查看>>