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