在 Javascript 上执行映射时出现问题

Issue performing a Mapping on Javascript

我正在尝试让这个 JavaScript 正常工作。

这里的请求:必须将带有目标系统 ID 的货币传递给另一个系统,而不是我的系统 ID,为此我必须使用我系统中的 IsoCode 映射到目标系统上的相关 ID .

function GetMappedCurrencyValue(CurrencyISO) {

  var mapCurrencyTable = [
    ["GBP", 1],
    ["EUR", 2],
    ["USD", 51],
    ["COP", 102],
    ["BRL", 104]
  ];

  return mapCurrencyTable[CurrencyISO - "GBP"][1];
}

当我尝试调用 mapCurrencyTable 函数时出现以下错误:

CurrentISO - is undefined

我在主函数中有一个变量,用于从我的货币 table 中获取 IsoCode,它称为 CurrentISO,这是该函数的一个全局变量。

谁能告诉我我在这张地图上遗漏了什么?

我想这就是你想要的:

function GetMappedCurrencyValue(CurrencyISO) {

  var mapCurrencyTable = {
    "GBP" : 1,
    "EUR": 2,
    "USD": 51,
    "COP": 102,
    "BRL": 104
  };

  return CurrencyISO - mapCurrencyTable["GBP"];
}

只需转换对象中的 table 即可,不需要任何函数:

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']);

不清楚您希望从您的演示中获得什么。

也许你想

return mapCurrencyTable[CurrencyISO][1];

在您的函数中,
然后使用函数 do:

GetMappedCurrencyValue("GBP");