Поиск функции в объекте и список ее пути - PullRequest
0 голосов
/ 16 октября 2018

У меня есть объект с различными атрибутами и функциями.
Мой объект выглядит следующим образом: data.user.identification
Теперь у этого объекта есть функция где-то в его дереве, называемая "GetName"

Эта функция всегда может иметь различные атрибуты, например:

data.user.identification.ys.z.GetName
ИЛИ
data.user.identification.dkz.ys.GetName
ИЛИ
data.user.identification.list.blub.GetName

Теперь я должен знать, по какому пути эта функция.
Например: data.user.identification.ys.z.GetName
Надеюсь, кто-нибудь может мне помочь с этим дальше?

Я использую Javascript.

Спасибомного!

1 Ответ

0 голосов
/ 16 октября 2018
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;
}

Обратите внимание, что возвращаемый путь будет , а не , включая имя исходного объекта, но вызывающая сторона знает, что & может добавить его.

...