首页 > 解决方案 > 动态访问多级对象键

问题描述

我有一个 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"]

有没有办法使用数组来访问所需的值?

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

谢谢!

标签: javascriptjavascript-objects

解决方案


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

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

推荐阅读