1. ホーム
  2. javascript

[解決済み] Javascriptで変数をオブジェクト名として使用する

2023-01-26 10:59:11

質問

変数の値を使って、オブジェクトにアクセスしたい。

myobjectという名前のオブジェクトがあるとします。

この名前で変数を埋めて、その変数を使ってオブジェクトにアクセスしたいと思います。

var objname = 'myobject';
{objname}.value = 'value';

どのように解決するのですか?

グローバルです。

myObject = { value: 0 };
anObjectName = "myObject";
this[anObjectName].value++;

console.log(this[anObjectName]);

グローバル: v2

var anObjectName = "myObject";
this[anObjectName] = "myvalue"

console.log(myObject)

ローカル: v1

(function() {
    var scope = this;

    if (scope != arguments.callee) {
        arguments.callee.call(arguments.callee);
        return false;
    }

    scope.myObject = { value: 0 };
    scope.anObjectName = "myObject";
    scope[scope.anObjectName].value++;

    console.log(scope.myObject.value);
})();

ローカル: v2

(function() {  
    var scope = this;

    scope.myObject = { value: 0 };
    scope.anObjectName = "myObject";
    scope[scope.anObjectName].value++;

    console.log(scope.myObject.value);    
}).call({});