Iterate Through the Keys of an Object with a for...in Statement unable to pass the test

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
  var a=0;
  for(let obj in users)
  {
   if( obj.hasOwnProperty('online')){
    a++;
   }
  }
  return a;
  // 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/74.0.3729.131 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

here your have to check the object key property in the if statement and update the count check your if statement man
check are the user are online in if statement it will be true or false

You should be testing if each user has the online property of true, not simply if they hasOwnProperty ‘online’. Every user hasOwnProperty of online, but you don’t want to count the false ones.

Inside your for loop, obj will be the string names of the properties in users and not the objects. To see what I mean, just add a console.log statement and display what obj is.

function countOnline(obj) {
  for(let obj in users)
  {
   console.log(obj);
  }
}

thanks it worked for this problem