【发布时间】:2015-07-16 16:32:48
【问题描述】:
我有一个结构如下的对象:
[
{
"ID": 34,
"parent": 0,
"title": "Level 1 A",
"children": []
},
{
"ID": 35,
"parent": 0,
"title": "Level 1 B",
"children": [
{
"ID": 36,
"parent": 35,
"title": "Level 2 A",
"children": [
{
"ID": 37,
"parent": 36,
"title": "Level 3 A",
"children": []
},
{
"ID": 38,
"parent": 36,
"title": "Level 3 B",
"children": []
}
]
}
]
}
]
我正在尝试遍历它并将“标题”作为关键,所以我最终得到了这个:
[
{
"Level 1 A": {
"ID": 34,
"parent": 0,
"title": "Level 1 A",
"children": []
}
},
{
"Level 1 B": {
"ID": 35,
"parent": 0,
"title": "Level 1 B",
"children": [
{
"Level 2 A": {
"ID": 36,
"parent": 35,
"title": "Level 2 A",
"children": [
{
"Level 3 A": {
"ID": 37,
"parent": 36,
"title": "Level 3 A",
"children": []
}
},
{
"Level 3 B": {
"ID": 38,
"parent": 36,
"title": "Level 3 B",
"children": []
}
}
]
}
}
]
}
}
]
我尝试了类似的方法,但它没有通过子数组,因此只有 1 级元素得到更新:
for (var i = 0, l = response.length; i < l; i++) {
map[response[i].title] = response[i];
}
我相信我需要使用一些递归,但我无法弄清楚如何使用 Javascript 来完成这项工作。提前感谢您的任何建议。
【问题讨论】:
标签: javascript jquery arrays json multidimensional-array