freeCodeCamp/guide/english/certifications/javascript-algorithms-and-d.../basic-data-structures/-iterate-through-the-keys-o.../index.md

1.1 KiB

title
Iterate Through the Keys of an Object with a for...in Statement

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

Method:

  • Note: dot-notation will cause errors in this challenge.
  • [square-bracket] notation must be used to call a variable property name.
  • The following code will not work.

Example 1:


for (let user in obj) {
    if(obj.user.online === true) {
      //code
    }
  }

  • Example 2 demonstrates how using [square-bracket] notation the code will be executed.

Example 2:


for (let user in obj) {
    if(obj[user]online === true) {
      //code
    }
  }

Solution:


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 result = 0;
  for (let user in obj) {
    if(obj[user].online === true) {
      result++;
    }
  }
  return result;
  // change code above this line
}
console.log(countOnline(users));