蓝胖子敲代码 2023-05-09 10:34 采纳率: 73.2%
浏览 14
已结题

数据格式处理--对象层级需要处理成数组层级

数据格式处理

原始数据
let obj={
  "第一级1":{
       '第二级1.1':['第三级1.1'],
       '第二级1.2':['第三级1.2'],
   },
 "第一级2":{
       '第二级2.1':['第三级2.1'],
       '第二级2.2':['第三级2.2'],
   },
}
需要处理成
let arr=[
{ 
  label:"第一级1",
  children:[
    {
       label:"第二级1.1",
       children:[
         {
           label:"第三级1.1"
         }
       ]
    },
   {
       label:"第二级1.2",
       children:[
         {
           label:"第三级1.2"
         }
       ]
    }
  ]
}..........
]
  • 写回答

2条回答 默认 最新

  • 乘风xs 2023-05-09 11:49
    关注
    function tranverse(obj){
        if (Array.isArray(obj)) {
            return obj.map(item => ({label: item}));
        } else {
            let res = [];
            for(let key in obj) {
                res.push({
                    label: key,
                    children: tranverse(obj[key])
                })
            }
            return res;
        }
    }
    

    img


    望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 5月9日