【发布时间】:2017-06-18 10:12:22
【问题描述】:
假设我有以下 JSON:
{
"id": "foo",
"list": [
{
"id": "A",
"list": [
{
"id": "B",
"list": [
{
"id": "C",
"list": [
{
"id": "D",
"list": []
},
{
"id": "E",
"list": []
}
]
},
{
"id": "F",
"list": []
},
{
"id": "G",
"list": [
{
"id": "H",
"list": []
},
{
"id": "I",
"list": []
},
{
"id": "J",
"list": []
}
]
}
]
},
{
"id": "K",
"list": []
}
]
},
{
"id": "L",
"list": [
{
"id": "M",
"list": []
}
]
},
{
"id": "N",
"list": []
},
{
"id": "O",
"list": [
{
"id": "P",
"list": [
{
"id": "Q",
"list": []
},
{
"id": "R",
"list": []
},
{
"id": "S",
"list": []
},
{
"id": "T",
"list": [
{
"id": "U",
"list": []
}
]
},
{
"id": "V",
"list": [
{
"id": "W",
"list": [
{
"id": "X",
"list": []
},
{
"id": "Y",
"list": []
},
{
"id": "Z",
"list": []
}
]
}
]
}
]
}
]
}
]
}
我的问题是:我如何计算每个孩子并将这个数字附加到每个对象的属性中?
例子:
- “C”对象在子对象“D”和“E”内部和之上有 2 个对象。
- “W”对象在子对象内部和之上有 3 个对象,“X”、“Y”和“Z”。
- “V”对象有(这是诀窍)在子对象内部和子对象上的 4 个对象,“W”对象本身及其所有子对象(3前面提到的)。
关于这个,“C”对象应该有一个属性,我们将其命名为“allBelow”,包含数字2。“W”对象包含3,“V”对象包含4。以此类推,对于每个对象。
我想知道一些递归函数可以完成这项工作,但我没有实现。
你能帮帮我吗?
最佳,
【问题讨论】:
标签: javascript json recursion traversal