2

私はオブジェクトを持っています:

var obj = {fields : []};

そして変数:

var x = "property_name";

変数 x の値を、配列内にプッシュするオブジェクトのプロパティ名として使用するにはどうすればよいでしょうか?

以下のようなものを試しましたが、x文字どおりに取得してプロパティ名として使用しています。使用したいのは、変数に格納されている値ですx。それは可能ですか?

obj.fields.push({x : 'im a value'});
4

1 に答える 1

4

この目的でオブジェクト リテラル構文を使用することはできません。ただし、新しいオブジェクトを作成してから構文を使用できます[]-覚えておいてください、これは-obj.xyzと同等obj['xyz']ですが、後者の引用符でわかるように、そこで変数などの式を使用できます:

var x = "property_name";
var obj = {};
obj[x] = 'value';
obj.fields.push(obj);
于 2012-09-06T02:06:05.297 に答える