迭代Object以更新特定属性

时间:2015-12-06 14:25:22

标签: javascript object

嗨,我正在努力寻找一种方法来循环我的对象以更新' curr'属性。我用谷歌搜索,但没有找到答案。

var myobj = {
    obj1: {
      curr: 0,
      count: "count1"
    },

    obj2: {
      curr: 0,
      count: "count2"
    },

    obj3: {
      curr: 0,
      count: "count3"
    }
}

我尝试使用以下内容..

for (var property in myobj) {
    if (obj.hasOwnProperty(property)) {
        // do stuff
        console.log(property) //which gives me obj1, obj2, obj3  BUT i need to access and set values in obj1.curr, obj2.curr and obj3.curr
}

真的很难弄清楚如何实现这个目标....

2 个答案:

答案 0 :(得分:1)

你快到了:

for (var property in myobj) {
    if (myobj.hasOwnProperty(property)) {
      myobj[property].curr = 1;  // etc
}

答案 1 :(得分:1)

您的for仅循环显示属性名称。您需要使用该属性显式获取对象。 还要确保为正确的对象测试hasOwnProperty ..

for (var property in myobj) {
    if (myobj.hasOwnProperty(property)) {
        myobj[property].curr = 1;
}