1

ここに私のデータ構造があります:

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

こちらの jsFiddle にアクセスしてください: http://jsfiddle.net/winduptoy/EXdDy/

オブジェクトの親とその親の JSON 階層構造を再帰的に作成しようとしていますid。コンソールを確認してください。のとしてandprojects[0].revisions[0]._idTreeが含まれている を見てください。の兄弟として含まれているを見てください。これを修正するにはどうすればよいですか?projects._idrevisionsprojectsprojects[0].revisions[0].files[0]._idTreeprojects.filesprojects.revisionsfilesprojects.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 に答える