我不知道如何真正解释这一点,但这里是我的问题。
我有一个字符串"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开始。