您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页javascript 数组转tree结构

javascript 数组转tree结构

来源:五一七教育网

数组数据
var list = [
  {id:1,pid:0,name:'一级'},
  {id:2,pid:1,name:'一级1'},
  {id:3,pid:1,name:'一级2'},
  {id:4,pid:2,name:'一级1-1'}
]

 

核心代码:

// 数组转tree
function
composeTree(list = []) { const data = JSON.parse(JSON.stringify(list)) // 浅拷贝不改变源数据 const result = [] if (!Array.isArray(data)) { return result } data.forEach(item => { delete item.children }) const map = {} data.forEach(item => { map[item.id] = item }) data.forEach(item => { const parent = map[item.pid] if (parent) { (parent.children || (parent.children = [])).push(item) } else { result.push(item) } }) return result }

 调用方法:

let tree = composeTree(list)

console.log(tree) // [{"id":1,"pid":0,"name":"一级","children":[{"id":2,"pid":1,"name":"一级1","children":[{"id":4,"pid":2,"name":"一级1-1"}]},{"id":3,"pid":1,"name":"一级2"}]}]

通过以上代码转换后的数据可以直接用于 各种树形组件 如 element

转载于:https://www.cnblogs.com/Leesttee/p/111323.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务