Files

74 lines
1.2 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Iterate Through the Keys of an Object with a for...in Statement
2018-10-12 15:37:13 -04:00
---
# Iterate Through the Keys of an Object with a for...in Statement
2018-10-12 15:37:13 -04:00
---
## Problem Explanation
2018-10-12 15:37:13 -04:00
- 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.
---
## Hints
### Hint 1:
2018-10-12 15:37:13 -04:00
```javascript
2018-10-12 15:37:13 -04:00
for (let user in obj) {
if (obj.user.online === true) {
//code
2018-10-12 15:37:13 -04:00
}
}
2018-10-12 15:37:13 -04:00
```
### Hint 2
2018-10-12 15:37:13 -04:00
- Example 2 demonstrates how using `[square-bracket]` notation the code will be executed.
```javascript
for (let user in obj) {
if (obj[user].online === true) {
//code
2018-10-12 15:37:13 -04:00
}
}
2018-10-12 15:37:13 -04:00
```
---
## Solutions
<details><summary>Solution 1 (Click to Show/Hide)</summary>
```javascript
2018-10-12 15:37:13 -04:00
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) {
2018-10-12 15:37:13 -04:00
result++;
}
}
return result;
// change code above this line
}
console.log(countOnline(users));
```
</details>