在对象中搜索功能并列出其路径

时间:2018-10-16 17:45:25

标签: function object path tree find

我有一个具有不同属性和功能的对象。
我的对象如下所示: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 :(得分:0)

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;
}

请注意,返回的路径将包括原始对象的名称,但是调用者知道&可以添加它。