咚咚
  • 3
  • 新人请关照

递归对象转数组

js想做一个递归深层对象转数组,数组的title为对象的键加上父级的键一直这样迭代,但是最后有些问题,想问大佬们有解决方案嘛?

const obj={

        a:{
            yangbo:"",
            cer:''
            },
            b:{
                v:{
                    c:34
                },
                ker:{
                    wie:12
                }
            }
    }
    let pre = ''
    const jsonToArrTree = (json) => {
        let data = Object.keys(json).map( (item) =>  {
            pre += (pre ? '.':'') + item
            let ops = {
                title:pre,
                children:[]
            }
            let child = json[item]
            if(Object.prototype.toString.call(child) === '[object Object]'  && Object.keys(child).length > 0){
                ops.children = jsonToArrTree(child)
            }
            pre = ''
            return ops
        })
        pre = ''
        return data
    }
    console.log(jsonToArrTree(obj))
阅读 268
评论 2019-12-06 提问
    3 个回答
    Reeye
    • 227

    @hfhan 大佬来解决一下

    评论 赞赏