0

我有一个从数据库返回的 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,
//        }
4

3 回答 3

2

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

object[text]
于 2013-04-30T02:54:27.177 回答
1

尝试使用这个:

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

这允许您使用括号符号动态访问属性,而不是使用点符号静态访问一个属性。

于 2013-04-30T02:54:32.367 回答
0

只需使用数组语法,

Object["property"]
于 2013-04-30T02:56:33.313 回答