Преобразование значения строки в имя свойства объекта [дубликат]

17
  

Возможный дубликат:
Как преобразовать строку в имя имени объекта в javascript

Я могу это сделать:

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

Но я получаю «название» динамически и хочу использовать около полутора десятков строк, полученных таким образом, чтобы назначить полдюжины свойств объекту. Я пробовал eval и несколько других схем, которые, похоже, имеют одинаковую проблему, но до сих пор пустуют.

У меня есть:

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

, и я хочу, чтобы значение txtCol было именем свойства.

Любые идеи?

    
задан Michael Broschat 28.08.2012 в 19:51
источник

4 ответа

31

Используйте ['propname'] :

objPosition[txtCol] = "whatever";

Демо: Ссылка

    
ответ дан mellamokb 28.08.2012 в 19:53
источник
7

используйте обозначение скобок : objPosition['title'] = "whatever";

так:

var objPosition = {}, ttl = 'title';
objPosition[ttl] = 'whatever'; 
    
ответ дан KooiInc 28.08.2012 в 19:53
источник
1

вы также можете установить ключ объекта следующим образом

var property = "title"
objPosition[property] = "something";
    
ответ дан Shreedhar 28.08.2012 в 19:53
источник
1

Используйте обозначения в виде скобок:

objPosition["title"] = "Whatever";
    
ответ дан Some Guy 28.08.2012 в 19:54
источник