javascript - 动态访问多级对象键

标签 javascript javascript-objects

我有一个 JavaScript 对象,它有多个层次,例如:

let obj = [
    {
        "testKeyOne": "one",
        "testKeyTwo": "two"
    },
    {
        "testKeyThree": "three",
        "testKeyFour": "four",
        "testKeyFive": {
            "testKeyFiveAndAHalf": "5.5"
            "testKeyFiveAndThreeQuarters": "5.75"
        }
    },
]

我还有一个数组,用于存储我需要访问的内容的键,例如,如果我正在寻找 5.5 一个,

let array = [1, "testKeyFive", "testKeyFiveAndAHalf"]

尽管如果我正在寻找"one"

,我的数组也可能看起来像这样
let array = [0, "testKeyOne"]

有什么方法可以使用数组来获取想要的值吗?

这是我第一次提问,所以如果我搞砸了,或者有任何不清楚的地方或需要更改的地方,我深表歉意。

谢谢!

最佳答案

是的。您可以只对数组使用 reduce:

let result = array.reduce((value, entry) => value[entry], obj);

关于javascript - 动态访问多级对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57563560/

相关文章:

javascript - 通过javascript将查询字符串从一个页面传递到另一个页面

javascript - JavaScript 中的 Else if 和 Else

javascript - 在将属性分配给 JavaScript 中的对象之前验证/预处理属性

Javascript:实例化对象数组的最佳方式

javascript - return 和 new 关键字构造函数模式有什么区别?

javascript - 如何使tinymce输入只读

javascript - 将具有 '√' 的字符串转换为可以给 eval() 的字符串;

javascript - 带有 flex 边和溢出的 Div :hidden in Chrome and Safari

javascript - 如何删除带有指向 Prototype 对象的指针?

javascript - 如何为对象实例生成唯一 ID?