javascript - 如何使用存储在变量中的键动态获取对象的值

标签 javascript typescript types

我在 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/

相关文章:

angular - 无法绑定(bind)到 'formControl',因为它不是 'select' 的已知属性

javascript - AngularJs 通过调用 REST 端点触发文件下载

reactjs - 是否可以在不使用箭头函数的情况下使用 TypeScript 输入 React 函数组件?

javascript - 使用上一个和下一个按钮在 javascript 中循环浏览图像

angular - 如何订阅 formGroup 更改并计算其他两个属性之一?

c++ - 如何使用构造函数委托(delegate)在 C++ 中使用命名构造函数?

php - 使用PHP检查变量是否包含正整数的最短方法?

ios - Objective-C 中的方法参数转换

javascript - 从 Trello 获取所有卡片和商店详细信息

javascript - Jquery datepicker 仅在页面重新加载后打开