3

次のような値にアクセスできない理由がわかりません。

object = {
    test:{
        value: "Hello world"
    }
}

variable = "value";

//this gives me "Hello world"
console.log(object.test.value);

//this gives me undefined error
console.log(object.test.variable);

これで、この方法では実行できないことは理解できますが、変数に値を指定してから、その変数を使用してオブジェクトの値にアクセスする必要があります。

4

2 に答える 2

14

このようにしてください:

console.log(object.test[variable]);

ドットでそれを行うことは、リテラル属性名を使用しています。つまり、にobject.test.value相当しobject.test['value']ます。

于 2012-06-26T18:48:10.647 に答える
2

あなたがする必要があります

object.test[variable]

.オブジェクトには、との両方を使用してアクセスできます[]

object.test.variable存在しないリテラルプロパティ「変数」を探しています。

于 2012-06-26T18:48:19.323 に答える