我在 Typescript 中有一个对象,我正在尝试动态更改 key 的字符串。下面的内容没有按预期工作。它抛出以下 Typescript 错误:
元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型
'{ key1: string; key2: string; }'.
在类型上找不到带有“string”类型参数的索引签名
'{ key1: string; key2: string; }'.ts(7053)
let c:string='key2'
var o = { key1: 'value1', key2: 'value2' };
var val = o[c]; //should return 'value2'
如果我将变量 c 更改为“key1”,它应该返回“value1”。
提前致谢。 :)
最佳答案
也许这有帮助
var o = { key1: 'value1', key2: 'value2' };
let c: keyof typeof o = 'key2'
var val = o[c];
关于javascript - 如何使用存储在变量中的键动态获取对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60784178/