Подтвердить что ты не робот

Как найти значение, используя ключ в словаре javascript

У меня есть вопрос о словаре Javascript. У меня есть словарь, в котором пары ключ-значение добавляются динамически следующим образом:

var Dict = []
var addpair = function (mykey , myvalue) [
  Dict.push({
    key:   mykey,
    value: myvalue
  });
}

Я вызову эту функцию и передам ей разные ключи и значения. Но теперь я хочу получить свою ценность на основе ключа, но я не могу этого сделать. Может ли кто-нибудь сказать мне правильный путь?

var givevalue = function (my_key) {
  return Dict["'" +my_key +"'"]         // not working
  return Dict["'" +my_key +"'"].value // not working
}

Поскольку мой ключ является переменной, я не могу использовать Dict.my_key

Спасибо.

4b9b3361

Ответ 1

Массивы в JavaScript не используют строки как ключи. Вероятно, вы обнаружите, что значение есть, но ключ является целым числом.

Если вы сделаете Dict в объекте, это будет работать:

var dict = {};
var addPair = function (myKey, myValue) {
    dict[myKey] = myValue;
};
var giveValue = function (myKey) {
    return dict[myKey];
};

Переменная myKey уже является строкой, поэтому вам больше не нужны кавычки.