如何在for循环中循环嵌套对象

时间:2018-07-19 22:47:22

标签: javascript

如何转换

之类的对象
{
  "0": {
    "1": 0,
    "2": 0,
    "3": 0,
  },
  "1": {
    "1": 0,
    "2": 0,
    "3": 0,
  }
}

循环执行,以便每次增量时都有一个新对象

{
 "1": 0,
 "2": 0,
 "3": 0,
}

我只能用

生成最后一个对象
var lastObj = obj[ Object.keys(obj).sort().pop()];

2 个答案:

答案 0 :(得分:2)

假设您要遍历原始对象的每个值,则可以遍历Object.values。这将获取对象中的每个值并创建一个数组,然后您可以根据需要循环遍历。

let obj = {
    "0": {
      "1": 0,
      "2": 0,
      "3": 0,
    },
    "1": {
      "1": 0,
      "2": 0,
      "3": 0,
    }
  }

Object.values(obj).forEach(o => {
    // do what you want with `o` 
    console.log(o)
})

答案 1 :(得分:0)

您还可以将父对象的键放入数组中,然后执行循环:

var parentObjectKeys = Object.keys(parentObject);
for (var i = 0; i < parentObjectKeys.length; i++) {
    var childObject = parentObject[parentObjectKeys[i]];
    // Do stuff with childObject;
}