Randell Dawson cc6f234228 [Fix] correct Guide article example for Iterate Through the Keys of an Object with a for...in Statement (#35197)
* fix: added dot btwn [user] and online

* fix: corrected example for other languages
2019-05-05 13:26:22 -05:00

1.1 KiB

title
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));