使用for循环迭代嵌套对象



如何在循环中获取嵌套对象的值?我需要迭代两个级别:

for (let unit in ds1.units) {      
for (let ports in ds1.units[unit].switchPorts) {
console.log(ports)
}
}

}

对象如下所示:屏幕没有输出。当我用ds1.units[unit].switchPorts访问值时,我会得到它。此外,在第一个for循环之后,我也会得到unit

默认情况下,您不能迭代Object
因此,有多种方法,但我更喜欢将键转换为数组。所以代码是:

for (let unit of Object.keys(ds1.units)) {      
console.log(ds1.units[unit].switchPorts)
}

此外,我们将使用of而不是in,因为of将检索值而不是索引。

对于测试用例:


ds1 = {
units: {
1: {
switchPorts: 5,
},
2: {
switchPorts: 6,
}
}
}

for (let unit of Object.keys(ds1.units)) {      
console.log(ds1.units[unit].switchPorts)
}

最新更新