30

我对 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

谢谢。

4

1 回答 1

39

JavaScript 中的数组不使用字符串作为键。您可能会发现该值在那里,但键是一个整数。

如果你做成Dict一个对象,这将起作用:

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

myKey变量已经是一个字符串,因此您不需要更多引号。

于 2012-07-09T10:27:30.113 回答