js嵌套获取的数据如何拼接

小白提问,后台提供了三个接口分别给出三个层级的列表,我需要将这三个接口返回的内容进行拼接 ;
数据结构如下:

[
    {
        label:name1,
        id:1,
        key:1,
        children:[
            {
                label:name1-1,
                id:1-1,
                key:1-1,
                children:[
                    label:name1-1-1,
                    id:1-1-1,
                    key:1-1-1
                ]
            }
        ]
     }
]

但是每个接口返回的内容是这样的,children中的内容要我自己拼

[
    {
        label:name1,
        id:1
    },
    {
        label:name2,
        id:2
    },
]

我现在获取了第一层级的数据,后两层嵌套调用方法来获取,但是如何将后两层的数据push进children呢

getProvinceList(){
    let _this = this
    this.post({
        url:'/provinceList',
        param:{id:1}
    }).then(result=>{
        let data = []
        result.list.map((item,i)=>{
            data.push({
                label:item.name,
                id:item.id,
                key:i
        })
        _this.getCityList(item.id)
        })
        this.setState({data})
    })
},
getCityList(id){
    let _this = this
    this.post({
        url:'/cityList',
        param:{id}
     }).then(result=>{
        let data = []
        result.list.map((item,i)=>{
            data.push({
                label:item.name,
                id:item.id,
                key:i
            })
            _this.getAreaList(item.id)
        })
    })
},
getAreaList(id){
    this.post({
        url:'/areaList',
        param:{id}
    }).then(result=>{
        let data = []
        result.list.map((item,i)=>{
            data.push({
                label:item.name,
                id:item.id,
                key:i
            })
        })
    })
},
阅读 1.6k
1 个回答

如果你获取的数据id,name有规范一致的格式,其实是否拼接都不影响使用,而且拼接处理也相对简单,就是不知道你具体的数据这些信息是否规范。
主要是要提取到合适的规律或者说命名规则,这样每个命名和id就可以直接解析出层级关系(明确父级和可能的子集)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题