无法使用$ .each()函数向对象添加属性

时间:2013-10-02 07:11:14

标签: javascript jquery

我有一个对象习惯包含一些值

var habits={
       "Drinking":"No",
       "Smoking":"No"
       }

我需要将此变量中的值添加到此格式的另一个变量

var NewHabits=new Object();
    NewHabits.Drinking="No";
    NewHabits.Smoking="No";

我的习惯变量很大所以我决定使用jquery $ .each()函数添加值

var NewHabits=new Object();
  $.each(habits,function(index, value)
{
 NewHabits.index=value;
 }

但执行此代码后,我在 NewHabits 变量中获得了价值,如下所示

 "index":"No","index":"No"

问题在于给出如此 NewHabits.index 的变量 请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

您需要使用bracket notation代替dot notation作为member operator

var NewHabits = {};
$.each(habits, function (key, value) {
    NewHabits[key] = value;
})

演示:Fiddle