调用汇率API获取数据时返回undefined的问题排查
解决动态获取汇率对象属性值的问题
问题出在对象属性的访问方式上:
- 用
.点符号访问属性时,比如data.conversion_rates.EUR,这里的EUR是字面量属性名,JS会直接查找对象里名为EUR的键。 - 但
targetcode是一个变量,你需要访问的是变量值对应的属性,这时候必须用方括号语法[],而非点符号。
修改代码里的取值行即可:
// 原错误代码 let val=data.conversion_rates.targetcode; // 修改后正确代码 let val=data.conversion_rates[targetcode];
额外验证建议:
- 可以先打印
targetcode的值,确认它是符合API返回格式的有效货币代码(如大写的"EUR"、"USD"等),避免因变量值错误导致取不到值:
console.log(targetcode); // 确保输出为有效货币代码 let val=data.conversion_rates[targetcode]; console.log(val);
内容的提问来源于stack exchange,提问作者Zethyst
相关产品推荐
相关产品推荐

