26

重複の可能性:
Javascript で文字列をオブジェクトのフィールド名として変換する方法

私がすることができます:

var objPosition = {};
objPosition.title = "whatever";

しかし、私は「タイトル」を動的に取得しており、取得した約半ダースの文字列を使用して、半ダースのプロパティをオブジェクトに割り当てたいと考えています。私は eval と同じ問題を抱えていると思われる他のいくつかのスキームを試しましたが、これまでのところ空になりました。

私は持っている:

var txtCol = $(this).text();
txtCol = $.trim(txtCol);

txtCol の値をプロパティ名にしたい。

何か案は?

4

4 に答える 4

58

使用['propname']:

objPosition[txtCol] = "whatever";

デモ: http://jsfiddle.net/hr7XW/

于 2012-08-28T17:53:20.967 に答える
13

括弧表記を使用します:objPosition['title'] = "whatever";

それで:

var objPosition = {}, ttl = 'title';
objPosition[ttl] = 'whatever'; 

[2019 年 11 月編集: es20xx]

let objPosition = {};
const ttl = 'title';
// [...]
objPosition = {...objPosition, [ttl]: "whatever"};
console.log(objPosition);

于 2012-08-28T17:53:36.833 に答える
4

このようにオブジェクトのキーを設定することもできます

var property = "title"
objPosition[property] = "something";
于 2012-08-28T17:53:36.363 に答える
3

次のようにブラケット表記を使用します。

objPosition["title"] = "Whatever";
于 2012-08-28T17:54:00.920 に答える