如何通过字符串键获取嵌套JavaScript对象属性的值

时间:2015-12-13 23:03:38

标签: javascript

我希望通过此键从嵌套的JavaScript对象中获取值。

var t = "cont.model.Inspection.InspectionName";

如何直接通过字符串键获取嵌套对象值?

我尝试了eval(t),但是它给了null,但是当在控制台上运行时,这个键的值为“A”。

1 个答案:

答案 0 :(得分:10)

您可以使用辅助函数来实现此目的,例如:

var data = {
    cont: {
        model: {
            Inspection: {
                InspectionName: "Hello world"
            }
        }
    }
};

function getNestedValue(obj, key) {
    return key.split(".").reduce(function(result, key) {
       return result[key] 
    }, obj);
}

console.log(getNestedValue(data, "cont.model.Inspection.InspectionName"));