function myfind( obj, name ) {
// Check all of the elements of obj
for ( var k in obj ) {
if ( k == name ) {
// It is the one we're looking for
return k;
} else {
// Find the path within this element
var path = myfind( obj[k], name );
if ( path ) {
// We found it; return path to it from this element
return k + "." + path;
}
}
}
// We didn't find it
return undefined;
}
Обратите внимание, что возвращаемый путь будет , а не , включая имя исходного объекта, но вызывающая сторона знает, что & может добавить его.