使用字符串 "array[n]" 作为变量

Use string "array[n]" as variable

我不知道如何真正解释这个,但这是我的问题。

我有一个字符串 "myKey[2]" 我想

const values = {
 "myKey": ["hey", "oh"],
 "b": ["something"]
};

const str = "myKey[2]";

我的问题是:如何使用字符串作为变量名获取 "oh" + js 中是否有某些东西可以将 "myarray.key" 读取为变量而不应用许多正则表达式和函数?

你的字符串应该是

const str = values.myKey[1];

或者如果您的密钥有破折号等

const str = values['myKey'][1];

请记住,在这种情况下,正确的索引是 1,而不是 2,因为数组中的索引编号从 0 而不是 1.

由于数组的索引从零开始,访问“myKey[2]”会给你undefined.Assuming你想从数组中取出第二个元素,我们可以这样做

const values = {
 "myKey": ["hey", "oh"],
 "b": ["something"]
};

const str = "myKey[1]";

const result=values[str.slice(0, str.indexOf('['))][
  Number(str.slice(str.indexOf('[') + 1, str.indexOf(']')))
];

console.log(result);