急急急,前端处理后端返回数据,要求把数组转化为树形结构数据,求大佬解答。
// 原始数据转化前
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