1

这是我的数据结构:

{ projects: [
      { revisions: [
            { files: [] },
        ],
      }
  ],
  user: {}
}

转到此处的 jsFiddle:http: //jsfiddle.net/winduptoy/EXdDy/

我很想递归地创建对象的父级及其ids 的 JSON 层次结构。检查您的控制台。看看projects[0].revisions[0]._idTree,其中包含projects._idrevisions作为 的projects,正如预期的那样。现在看看projects[0].revisions[0].files[0]._idTree,它包含projects.files作为 的兄弟projects.revisions什么时候files应该是的孩子projects.revisions我该如何解决?

4

2 回答 2

1

我认为这是您应该使用的:

http://www.jstree.com/

于 2012-12-30T04:35:31.473 回答
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};
    }
}
于 2012-12-30T04:37:57.883 回答