我正在努力让这个JavaScript工作。
这里的请求:必须将具有目标系统标识的货币传递给另一个系统,而不是使用我的系统标识,因为我必须使用系统中的IsoCode映射到目标系统上的相关标识。
function GetMappedCurrencyValue(CurrencyISO) {
var mapCurrencyTable = [
["GBP", 1],
["EUR", 2],
["USD", 51],
["COP", 102],
["BRL", 104]
];
return mapCurrencyTable[CurrencyISO - "GBP"][1];
}
当我试图调用mapCurrencyTable函数时,我收到以下错误:
CurrentISO - 未定义
我在主函数中有一个变量来从我的货币表中获取IsoCode,这是调用CurrentISO,这是该函数的全局变量。
任何人都可以给我一个关于我在这张地图上缺少什么的线索吗?
只需转换对象中的表,您就不需要任何函数:
var mapCurrencyTable = {
"GBP" : 1,
"EUR" : 2,
"USD" : 51,
"COP" : 102,
"BRL" : 104
};
console.log(mapCurrencyTable['USD']);
如果您确实需要使用数组,这里有一种将数组转换为对象的方法:
var mapCurrencyTable = [
["GBP", 1],
["EUR", 2],
["USD", 51],
["COP", 102],
["BRL", 104]
];
var objTable = {};
mapCurrencyTable.map(cur=>objTable[cur[0]]=cur[1]);
console.log(objTable['COP']);
我想这就是你想要的:
function GetMappedCurrencyValue(CurrencyISO) {
var mapCurrencyTable = {
"GBP" : 1,
"EUR": 2,
"USD": 51,
"COP": 102,
"BRL": 104
};
return CurrencyISO - mapCurrencyTable["GBP"];
}
目前尚不清楚您希望从演示文稿中获得什么。
也许你想
return mapCurrencyTable[CurrencyISO][1];
从你的功能, 然后使用函数做:
GetMappedCurrencyValue("GBP");