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

标签 javascript

<分区>

我想通过这个键从嵌套的 JavaScript 对象中获取一个值。

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

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

我已经尝试了 eval(t) 但它给出了 null 但在控制台上运行时此键的值为“A”。

最佳答案

您可以使用辅助函数来实现这一点,例如:

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"));

关于javascript - 如何通过字符串键获取嵌套 JavaScript 对象属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257474/

相关文章:

javascript - 解析 json 字符串中所有可能的 UTF-8 值

javascript - 我怎样才能让这个日历正确关闭?

javascript - HTML5 渲染

javascript - 读取 SharedArrayBuffer 中的内存

在 mysqli 查询中插入的 Javascript 日期时间

javascript - 在没有焦点的情况下替换文本区域内的文本

javascript - ScrollMagic,反向 z 索引顺序

javascript - 使用 JavaScript 检查浏览器是否支持 css3 和/或 HTML5 属性

javascript - 无限滚动距离 - Angular 2

javascript - CSS 移动导航下拉菜单 - 对齐