TypeScript如何从动态变量获取fmuser对象对应键名
根据用户选择的年份ID获取对应对象属性值
要获取用户选择的yearId对应的asXXX属性值,核心思路是动态拼接键名,再通过方括号语法访问对象属性,具体步骤如下:
- 把固定前缀
as和用户选择的yearId拼接成完整的对象键名 - 使用方括号语法(而非点语法)访问对象的对应属性——因为点语法仅适用于静态已知的键名,动态生成的键名必须用方括号
代码示例
const fmuser = { fmcode: '000001', fmname: 'abc', as2021: 10, as2122: 20, as2223: 30, as2324: 40, as2425: 50, }; // 用户选择的年份ID,这里以'2324'为例 const yearId = '2324'; // 拼接生成目标键名 const targetKey = `as${yearId}`; // 获取对应属性值 const targetValue = fmuser[targetKey]; console.log(targetValue); // 输出:40
注意事项
如果yearId是数字类型(比如用户选择后返回的是2324而非'2324'),需要先将其转为字符串再拼接,避免出现类型错误:
const yearId = 2324; const targetKey = `as${String(yearId)}`; const targetValue = fmuser[targetKey];
内容的提问来源于stack exchange,提问作者Kitidet Sriboon
相关产品推荐
相关产品推荐

