【发布时间】:2020-11-07 18:15:44
【问题描述】:
我有一个嵌套的(最多 21 个深度)JSON,格式如下:
{
"name": "Unknown Wife",
"id": 341,
"house": "Tyrell",
"gender": "Female",
"partnerId": 340,
"hasParnter": true,
"noParent": true,
"children": [{
"name": "Olymer",
"id": 342,
"house": "Tyrell",
"gender": "Male",
"partnerId": 343,
"hasParnter": true,
"isSource": true
}, {
"name": "Lysa Meadows",
"id": 343,
"house": "Tyrell",
"gender": "Female",
"partnerId": 342,
"hasParnter": true,
"noParent": true,
"children": [{
"name": "Raymund",
"id": 344,
"house": "Tyrell",
"gender": "Male",
"isSource": true
}, {
"name": "Rickard",
"id": 345,
"house": "Tyrell",
"gender": "Male",
"isSource": true
}, {
"name": "Megga",
"id": 346,
"house": "Tyrell",
"gender": "Female",
"isSource": true
}]
我正在尝试将这些数据转换为格式
{name: "someName", children:["all","children","deeper","in","object"]},
据推测,原始对象的最高级别成员将拥有最长的子数组。在一个血统中,随着您深入家族树,这将减少。
以递归方式进入家谱并返回上述格式的新对象的最佳途径是什么?
【问题讨论】:
-
该数组的更好名称是
descendants而不是children。 -
如果叶子也有一个
children数组,一个空的就是 -
请澄清输出格式,
unknown wife是否会将 olymer、lysa、raymund 和 rickard 都视为“孩子”? -
抱歉,是的,所以第一级个人可能有 x 个后代。下一个最低的将包括 x-(至少)1
标签: javascript arrays json sorting data-manipulation