假设我有一个阵列:
var array = [
{
key1: {
underkey1: {
"somekey":"someValue"
}
},
}
];
我知道我可以像这样key1
:
var theVar = "key1";
array[theVar];
但我希望使用一个变量到达underkey1
,例如:
var theVar = "key1.underkey1";
根据我的尝试,我得到undefined
。
怎么做?
答案 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