Проблема выполнения сопоставления на Javascript - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь заставить этот 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, и это глобальная переменная для этой функции.

Может кто-нибудь подсказать, что мне не хватает на этой карте?

Ответы [ 3 ]

1 голос
/ 26 апреля 2019

Просто преобразуйте таблицу в объект, и вам не понадобятся никакие функции:

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']);
0 голосов
/ 26 апреля 2019

Не ясно, чего вы хотите добиться от своей презентации.

Возможно, вы хотите

return mapCurrencyTable[CurrencyISO][1];

изнутри вашей функции,
Затем для использования функции выполните:

GetMappedCurrencyValue("GBP");
0 голосов
/ 26 апреля 2019

Я думаю, это то, что вы хотите:

function GetMappedCurrencyValue(CurrencyISO) {

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

  return CurrencyISO - mapCurrencyTable["GBP"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...