javascript按变量名称将项目推送到对象中

时间:2015-04-06 20:06:05

标签: javascript

抱歉新手问题,但我必须忽略一些事情。如何设置obj.{this.name} = property以使obj.sandwich = off。我的对象看起来像:

obj { sandwich: off, soup: off }

http://jsfiddle.net/naaua4b5/

复选框列表:

<input type = "checkbox" name = "sandwich" />
<input type = "checkbox" name = "soup" />

js code:

var obj = {} ; 

$('input[type=checkbox]:not(:checked)').map(function()
{
     var item_name =  this.name;
     var value = 'off';
     obj.item_name = value;
}).get();

console.log (obj);

1 个答案:

答案 0 :(得分:5)

使用括号表示法:

var obj = {} ; 
      $('input[type=checkbox]:not(:checked)').map(function()
                {
                    var item_name =  this.name;
                    var value = 'off';
                    obj[item_name] = value;// <-brackets!
                }).get();
console.log (obj);

点符号obj.key使用文字“键”访问对象,虽然规范可能会受到限制,具体取决于您要执行的操作。括号表示法obj['key']为您提供了更多的自由,您可以使用变量作为键(如您的情况),甚至可以像obj["I'm-Acrazy_Key"]

那样在其中抛出疯狂的字符