文字列からオブジェクト プロパティを作成する必要がありますが、この文字列の値をプロパティ名として使用するにはどうすればよいですか?
var x = 'a';
var y = 'b';
var xy = x + y;
var z = {
xy: 'some text'
};
これで、経由ではアクセスできましたz['xy']
が、経由ではアクセスできませんでしz['ab']
た。
文字列からオブジェクト プロパティを作成する必要がありますが、この文字列の値をプロパティ名として使用するにはどうすればよいですか?
var x = 'a';
var y = 'b';
var xy = x + y;
var z = {
xy: 'some text'
};
これで、経由ではアクセスできましたz['xy']
が、経由ではアクセスできませんでしz['ab']
た。
あなたは書き込もうとしています
var z = {};
z[xy] = 'some text';
オブジェクトリテラルを使用してこれを行うことはできません。
@SLaksがここで言ったように-オブジェクトリテラルでは不可能です...ただし、配列を使用できます:
var x = 'a';
var y = 'b';
var xy = x + y;
var z = []; // define array
z[xy]='some text';
alert(z['ab']); // outputs 'some text'