flcx_ave 2022-02-04 23:35 采纳率: 100%
浏览 44
已结题

下面怎么转换成需要的数据结构

给定这样的一个数据结构:怎么转换成antd中treeSelect需要的数据结构,一级展示buName,二级展示bizLineName,三级展示measureName,值是measureId


```javascript
{"buCode": "123","buName": "标题一","bizLineMeasureList":[
  {"bizLineCode": "10086","bizLineName": "标题二","measureList":[
    {"measureName": "副标题一", "measureId": "111"},{"measureName": "副标题二", "measureId": "222"},{"measureName": "副标题三", "measureId": "333"},{"measureName": "副标题四", "measureId": "444"},{"measureName": "副标题五", "measureId": "555"}
  ]}
]}

```

  • 写回答

3条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    var data = {"buCode": "123","buName": "标题一","bizLineMeasureList":[
      {"bizLineCode": "10086","bizLineName": "标题二","measureList":[
        {"measureName": "副标题一", "measureId": "111"},{"measureName": "副标题二", "measureId": "222"},{"measureName": "副标题三", "measureId": "333"},{"measureName": "副标题四", "measureId": "444"},{"measureName": "副标题五", "measureId": "555"}
      ]}
    ]}
    
    
    var treeData = [];
    var bu = {
        title: data.buName,
        value: data.buCode,
        key: data.buCode,
        children: []
    };
    treeData.push(bu);
    data.bizLineMeasureList.forEach(function(v, i){
        var bizLine = {
            title: v.bizLineName,
            value: v.bizLineCode,
            key: v.bizLineCode,
            children: []
        };
        bu.children.push(bizLine);
        v.measureList.forEach(function(v, i){
            var measure = {
                title: v.measureName,
                value: v.measureId,
                key: v.measureId
            };
            bizLine.children.push(measure);
        });
    
    });
    
    
    console.log(treeData);
    console.log(JSON.stringify(treeData,null,4));
    

    img

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

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

报告相同问题?

问题事件

  • 系统已结题 2月13日
  • 已采纳回答 2月5日
  • 创建了问题 2月4日