Iterate Through the Keys of an Object with for..in

Tell us what’s happening:

Your code so far


let users = {
  Alan: {
    age: 27,
    online: false
  },
  Jeff: {
    age: 32,
    online: true
  },
  Sarah: {
    age: 48,
    online: false
  },
  Ryan: {
    age: 19,
    online: true
  }
};

function countOnline(obj) {
  // change code below this line
  let count = 0;
for(let selectUser in obj){
  if(selectUser['online'] == true) count++;
} return count;
  // change code above this line
} 

console.log(countOnline(users));

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-data-structures/-iterate-through-the-keys-of-an-object-with-a-for---in-statement

We want to check how much users are online. Parameter obj represents an object, such as users, variable selectUser represents each user of that users object, such as ‘Jeff’, ‘Sarah’. We want to check a condition inside of a whole object.

1 Like
if(selectUser['online'] == true) count++;

should be

if(obj[selectUser]['online'] == true) count++;
1 Like

Thank you so much… :slight_smile: