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 に答える