Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.0k views
in Technique[技术] by (71.8m points)

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
            })
        })
    })
},

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...