一、原数组
二、实现方法
1.递归法
// 平铺转树形结构
export function transArrToTree(arr,pid=''){
let newArr=[] //接收转化后的元素
arr.forEach((item=>{
// 如果pid为空 说明为第一层元素
if(item.pid==pid){
// 收集非一层元素
let child=transArrToTree(arr,item.id) //收集pid=id的元素组成的数组
if(child.length){
item.children=child
}
// 将一层元素收集
newArr.push(item)
}
}))
return newArr
}
2.array-to-tree 第三方包
1.下载第三方包 yarn add array-to-tree
2.导入第三方包并定义转化函数导出
import arrToTree from 'array-to-tree'
export function tranArray(arr){
return arrToTree(arr,{
parentProperty:'pid', //父级pid
customID:'id' //子级id
})
}