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

Tell us what’s happening:
Describe your issue in detail here.
when I use dot ( . ) to access online property of users it does not work.
However it works fine when using usersObj[names].online.
Can someone tell me why this is happening?

  **Your code so far**
const users = {
Alan: {
  online: false
Jeff: {
  online: true
Sarah: {
  online: false

function countOnline(usersObj) {
// Only change code below this line
let count = 0;
for (let names in usersObj)
  if( == true)
return count;
// Only change code above this line

  **Your browser information:**

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

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

Link to the challenge:

You cannot use dot notation when the property name is stored in a variable. Dot notation us only for the exact, literal property name.

usersObj[names][online] this also does not work is there a specific order to use dots and brackets

Because there doesn’t exist a online variable. To use bracket notation with a string, you must use quotes.

1 Like

it works when using [‘online’]
I think I understood how it works thanks.
for variables I have to use bracket

1 Like

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