1

I want to looping through servers javascript object and get the serverName and serverStatus

let servers = {
  server1: {
    serverName: "India",
    serverStatus: "fair"
  },
  server2: {
    serverName: "USA",
    serverStatus: "Good"
  },
  server3: {
    serverName: "Aus",
    serverStatus: "Excelent"
  },
  server4: {
    serverName: "England",
    serverStatus: "Super"
  }
}

for (let server in servers) {
  for (let s in server) {
    console.log(s.serverName);
  }
}
  • 2
    Can you change the structure of `servers`? Using an object in that way is really inconvenient. `servers` should be an array. – 3limin4t0r Jul 13 '20 at 15:51
  • This might help you - https://stackoverflow.com/questions/8312459/iterate-through-object-properties – Vna Jul 13 '20 at 15:53

1 Answers1

4

You don't need nested loops. The first loop loops through the property names, you just need to access the corresponding property.

let servers = {
  server1: {
    serverName: "India",
    serverStatus: "fair"
  },
  server2: {
    serverName: "USA",
    serverStatus: "Good"
  },
  server3: {
    serverName: "Aus",
    serverStatus: "Excelent"
  },
  server4: {
    serverName: "England",
    serverStatus: "Super"
  }
}

for (let server in servers) {
  console.log(`Name: ${servers[server].serverName} Status: ${servers[server].serverStatus}`);
}
Barmar
  • 741,623
  • 53
  • 500
  • 612