急急急,前端处理后端返回数据,要求把数组转化为树形结构数据,求大佬解答。

// 原始数据转化前

const data = [{

id: 'f',

body: {

next: ['a','b']

}

},{

id: 'a',

body: {

next: ['k']

}

},{

id: 'b',

body: {

next: []

}

}]

// 数据转化后

const preData = [{

id: 'f',

children: [{

id: 'a',

children: [{

id: 'k',

children: []

}]

},{

id: 'b',

children: []

}]

}]

回答

急急急,前端处理后端返回数据,要求把数组转化为树形结构数据,求大佬解答。
递归代码不知道扔哪里了,写个简陋的吧。

data = [{

id: 'f',

body: {

next: ['a','b']

}

},{

id: 'a',

body: {

next: ['k']

}

},{

id: 'b',

body: {

next: []

}

}]

hash = data.reduce((s, n)=>{

s[n.id] = n

return s

}, {});

data.reduce((s, n)=>{

s[n.id] = n;

n.children = n.body.next.map(v=>hash[v] || {id: v, children: []})

return s

}, {});

[hash.f]

上述数据的意思是'f' 为根节点,会有相应的子节点等。 需要把原始的数组类型数据 转化为结构" title="树形结构">树形结构。 求大佬解答

以上是 急急急,前端处理后端返回数据,要求把数组转化为树形结构数据,求大佬解答。 的全部内容, 来源链接: utcz.com/a/85432.html

回到顶部