动态访问多级对象键

wil*_*ill 1 javascript javascript-objects

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

let obj = [
    {
        "testKeyOne": "one",
        "testKeyTwo": "two"
    },
    {
        "testKeyThree": "three",
        "testKeyFour": "four",
        "testKeyFive": {
            "testKeyFiveAndAHalf": "5.5"
            "testKeyFiveAndThreeQuarters": "5.75"
        }
    },
]
Run Code Online (Sandbox Code Playgroud)

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

let array = [1, "testKeyFive", "testKeyFiveAndAHalf"]
Run Code Online (Sandbox Code Playgroud)

虽然如果我正在寻找的话,我的数组也可能看起来像这样"one"

let array = [0, "testKeyOne"]
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用数组来访问所需的值吗?

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

谢谢你!

Ice*_*unk 5

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

let result = array.reduce((value, entry) => value[entry], obj);
Run Code Online (Sandbox Code Playgroud)