我有一个结构如下的对象:
{
_id: {
$oid: 'foo',
},
data: {
john: {
_doe: {
$oid: 'bar'
}
}
}
}
现在我想按摩这个物体,使它变成:
{
_id: 'foo',
data: {
john: {
_doe: 'bar'
}
}
}
换句话说,每个实例都$oid
应该将该值上移一级(或类似的东西)。它可能发生在许多层面。
我试过:
var loop = function(o) {
for ( var i in o ) {
if ( i == '$oid' ) {
o = o[i];
} else if ( typeof o[i] == 'object' ) {
loop(o[i]);
}
}
return o;
}
loop(obj);
但它失败了,我无法理解它......