这是我的数据结构:
{ projects: [
{ revisions: [
{ files: [] },
],
}
],
user: {}
}
转到jsFiddle:http://jsfiddle.net/winduptoy/EXdDy/
我正在以递归方式创建对象父母及其id
的JSON层次结构。检查你的控制台。正如预期的那样,查看projects[0].revisions[0]._idTree
,其中包含projects._id
和revisions
作为projects
的 孩子 。现在查看projects[0].revisions[0].files[0]._idTree
,其中包含projects.files
作为projects.revisions
的 兄弟 ,当files
应为< projects.revisions
的强> 孩子 。我该如何解决这个问题?
答案 0 :(得分:1)
我认为这是你应该使用的:
答案 1 :(得分:1)
请像这样重写recurseTree
:
function recurseTree(tree, newKey, newId) {
if(angular.element.isEmptyObject(tree)) {
tree[newKey] = {_id: newId};
return;
}
var child = null; // find current tree's child
for(var key in tree) {
if (key != '_id') {
child = tree[key]; // found a child
break;
}
}
if (child) { // recursively process on child
recurseTree(child, newKey, newId);
} else { // no child, so just fill the tree
tree[newKey] = {_id: newId};
}
}