我想将我的数据转换为特定的树节点格式。
是否有一种方法(打字稿或Jquery)遍历每个对象,子对象和孙对象等等,并更改格式?
当前数据格式
{
"content": [
{
"dimension": "2019-12-13"
"subList": [
{
"dimension": "2019-12-13",
"subList": [
{
"dimension": "2019-12-13",
"subList": []
}
]
}
]
},
{
"dimension": "2019-12-13"
"subList": [
{
"dimension": "2019-12-13",
"subList": [
{
"dimension": "2019-12-13",
"subList": []
}
]
}
]
}
]
}
所以结果应该是这样
{
"content": [
{
"data": {
"dimension": "2019-12-13"
},
"children": [
{
"data": {
"dimension": "2019-12-13"
},
"children": [
{
"data": {
"dimension": "2019-12-13"
},
"children": []
}
]
}
]
}
]
}
答案 0 :(得分:0)
鉴于您正在处理树状数据结构,您可能需要递归函数。
让我们形式化处理的类型:
type Node1 = { // current node structure
dimension: string
subList: Node1[]
}
type Node2 = { // desired node structure
data: {
dimension: string
}
children: Node2[]
}
您的递归函数将如下所示:
const mapNode = (n: Node1): Node2 => {
return {
data: {
dimension: n.dimension
},
children: n.subList.map(mapNode)
}
}