JS用数组变量选择键

时间:2017-12-07 11:04:36

标签: javascript

假设我有一个阵列:

var array = [
  {
   key1: {
     underkey1: {
       "somekey":"someValue"
     }
   },
  }
];

我知道我可以像这样key1

var theVar = "key1";
array[theVar];

但我希望使用一个变量到达underkey1,例如:

var theVar = "key1.underkey1";

根据我的尝试,我得到undefined

怎么做?

3 个答案:

答案 0 :(得分:1)

您可以将该字符串拆分为键数组,然后使用reduce()来达到嵌套值。

var array = [{key1: {underkey1: "somevalue"},}];

var val = 'key1.underkey1'
  .split('.')
  .reduce((r, e, i, arr) => {
    return r[e] || (arr[i+1] ? {} : undefined)
  }, array[0])
  
console.log(val)

答案 1 :(得分:-1)

尝试以下:

var array = [
    {
        key1: {
            underkey1: "somevalue"
        },
    }
];

var theVar = "key1";
theVar2 = "underkey1"
array[0][theVar][theVar2];

答案 2 :(得分:-1)

试试这个:

array[0].key1.underkey1