Basic Data Structures - Iterate Through the Keys of an Object with a for...in Statement

Tell us what’s happening:
returning the error

ReferenceError: online is not defined

Your code so far

const users = {
  Alan: {
    online: false
  },
  Jeff: {
    online: true
  },
  Sarah: {
    online: false
  }
}

function countOnline(allUsers) {
  // Only change code below this line
  let result = 0;
  for (let user in users) {
    if (users[user][online]) {
      result++;
    }
  }
  return result;
  // Only 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/117.0.0.0 Safari/537.36 Edg/117.0.2045.43

Challenge: Basic Data Structures - Iterate Through the Keys of an Object with a for…in Statement

Link to the challenge:

There are a couple of issues with your code.

  1. If you want to explicitly access an object property (e.g. ‘online’) you must either use dot notation or (using bracket notation) enclose the property name in quotation marks.
  2. You’re accessing the object users explicitly inside the function, as opposed to allowing the function to use whichever object is passed to the function parameter.
1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.