我通过API获得了这个json对象。
var servers = {
'd22ab1': {
condition: 'autorebooted',
name: 'acb1'
},
'6946e0': {
condition: 'online',
name: 'abc2'
}
}
for (var server in servers) {
console.log(server.condition);
}
我正在尝试获取条件值,但我的for循环不能像我预期的那样工作。我错过了什么?谢谢!!!
答案 0 :(得分:1)
您需要在迭代密钥时通过server
密钥访问。
var servers = {
'd22ab1': {
condition: 'autorebooted',
name: 'acb1'
},
'6946e0': {
condition: 'online',
name: 'abc2'
}
}
for (var server in servers) {
console.log(servers[server].condition);
}
或者您可以使用Object.values
,它返回每个属性的值。
var servers = {
'd22ab1': {
condition: 'autorebooted',
name: 'acb1'
},
'6946e0': {
condition: 'online',
name: 'abc2'
}
}
Object.values(servers).forEach(item => console.log(item.condition));
答案 1 :(得分:0)
servers
不可迭代,请使用Object.values
Object.values( servers ).forEach( s => console.log( s.condition ) )
<强>演示强>
var servers = {
'd22ab1': {
condition: 'autorebooted',
name: 'acb1'
},
'6946e0': {
condition: 'online',
name: 'abc2'
}
};
Object.values( servers ).forEach( s => console.log( s.condition ) )
答案 2 :(得分:0)
在服务器上使用Object.keys获取所有密钥。然后迭代键并从每个键中获取条件。
var servers = {
'd22ab1': {
condition: 'autorebooted',
name: 'acb1'
},
'6946e0': {
condition: 'online',
name: 'abc2'
}
}
let conditions = Object.keys(servers).map(key => servers[key].condition);
console.log(conditions)