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



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

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

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

我的问题是:如何获得以字符串作为变量名的"oh"+js中是否有人可以在不应用许多正则表达式和函数的情况下将"myarray.key"读取为变量?

当数组的索引从零开始时,访问"myKey[2]";会给你未定义的。假设你想从数组中提取第二个元素,我们可以进行

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);

您的字符串应该是

const str = values.myKey[1];

或者如果你的钥匙有破折号和这样的

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

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

最新更新