使用数组获取对象值以找到对象键

时间:2019-05-05 09:48:22

标签: javascript

假设我有一个对象:

const object = {
  lvl1: {
    dogs: "bark",
    lvl2: {
      cats: "meow",
      lvl3: {
        cows: "moo"
      }
    }
  }
}

假设我有两个数组:

const array1 = ["lvl1", "lvl2", "cats"]
const array2 = ["lvl1", "lvl2", "lvl3", "cows"]

如何创建仅返回数组作为输入参数的返回catscows值的函数?

比方说该函数称为getValue()

如果调用了const value1 = getValue(array1),则它应等效于:

const value1 = object["lvl1"]["lvl2"]["cats"]

如果调用了const value2 = getValue(array2),则它应等效于:

const value2 = object["lvl1"]["lvl2"]["lvl3"]["cows"]

到目前为止,这是我的尝试,但是没有用:

  const getValue = (array) => {
    let o = object;
    let newObject = o;
    array.forEach((key) => (o = o[key]));
    return newObject ;
  };

0 个答案:

没有答案