使用字符串从其父对象访问预定义的子对象

时间:2013-04-30 02:52:55

标签: javascript

我有一个从数据库返回的javascript对象。

我想构建一个函数,如果传递父对象和字符串,则可以从父字符串返回一个与字符串同名的子函数。

以下代码显然不起作用,但提出了这个想法:

function filter (object,  text) {  
return object.Text  
}

这样

var object = {
    "prop1": 1,
    "prop2": 
        {
            "ChildProp1": 1,
            "ChildProp2": 2,
        }
}
var text = "prop2"

var ChildObject = filter(object, text)

//expected content of ChildObject = {
//            "ChildProp1": 1,
//            "ChildProp2": 2,
//        }

3 个答案:

答案 0 :(得分:2)

您不需要函数来按名称访问属性;它是JavaScript语法的基本组成部分。

object[text]

答案 1 :(得分:1)

尝试使用:

function filter(object, text) {  
    return object[text];
}

这允许您使用括号表示法动态访问属性,而不是使用点表示法静态访问属性。

答案 2 :(得分:0)

只需使用数组语法,

Object["property"]