0

json back referenceの続き。

parent階層をトラバースして、プロパティをその親ノードに設定したいだけです。その双方向トラバーサブル

function attach_back_reference(hierarchy, parent){
        for(var i in hierarchy){
            if(jQuery.isPlainObject(hierarchy[i]))
                    attach_back_reference(hierarchy[i], hierarchy);
            else if(jQuery.isArray(hierarchy[i]))
                for(var it in hierarchy[i])
                        attach_back_reference(hierarchy[i][it], hierarchy);
        }
        hierarchy.parent = parent;
}

上記の関数は、chrome、opera、firefox、IE9 でうまく機能します。Out of stack space と表示される IE 8 を除きます。しかし、無限再帰に向かっているところはどこにもありません

4

2 に答える 2

0

この回答によると、 IE8 のスタック制限は他のブラウザーよりもはるかに小さいため、JavaScript が実際に IE8 の制限に達している可能性があります。

于 2013-03-07T21:26:44.607 に答える