如何在循环中获取嵌套对象的值?我需要迭代两个级别:
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)
}