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

标签 javascript jquery

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

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

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

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

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

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

但是执行此代码后,我在 NewHabits 变量中获得值,如下

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

问题是给出这样的变量NewHabits.index
请帮我解决这个问题

最佳答案

您需要使用bracket notation而不是dot notation作为member operator

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

演示:Fiddle

关于javascript - 无法使用 $.each() 函数向对象添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131674/

相关文章:

javascript - 使用 AJAX 自动刷新内容

javascript - jQuery JavaScript 数据表列压缩/挤压在一起

javascript - hide dropdown on 'body' 点击产生需要双击再次显示

javascript - 让 AngularJS ng-show 和 ng-hide 更安全

javascript - 使用 Knockout.js 的单选按钮列表

javascript - 无法设置未定义的属性标题

javascript - jQuery .slideToggle() 也关闭其他选项卡

jQuery 追加行和列

jQuery 追加和删除

javascript - iframe 背景图像在 Firefox 中显示正常但在 IE 中显示不正常