前端将二维数组转换成树形格式数组

原始数据:

前端将二维数组转换成树形格式数组_第1张图片

最终得到的数据:

 前端将二维数组转换成树形格式数组_第2张图片

 具体实现代码:倒推(最后一个数据)的思路得到数组

function childData(list,i){
  const arr = []
  //最后一个数组
  if(i{
      const obj = {
        name:'',
        prop:'',
        child:[]
      }
      obj['name'] = item
      obj['prop'] = item
      obj['child'] = []
      arr.push(obj)
    })
  }

  return arr
}
function transListDataToTreeData(list,i) {
  //共n条数据
  const arr = list[i] // 第一层数组 1
  if(arr){
    const news = []
    arr.forEach(item=>{
      let obj = {
        name:item,
        prop:item,
        child:[]
      }
      const child = childData(list,i+1)
      if(child.length > 0){
        obj.child = transListDataToTreeData(list,i+1)
      }else{
        obj.child = child
      }
      news.push(obj)
    })
    return news
  }else{
    return []
  }
}

你可能感兴趣的:(前端,vue.js)