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

Access a predefined child object from its parent object with a string

本文关键字:对象 访问 预定义 字符串      更新时间:2023-09-26

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

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

object[text]

试试:

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

这允许你动态地访问一个带有括号的属性,而不是静态地访问一个带有点的属性。

使用数组语法,

Object["property"]