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 を除きます。しかし、無限再帰に向かっているところはどこにもありません