Files

90 lines
1.7 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Check if an Object has a Property
---
# Check if an Object has a Property
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: true
},
Jeff: {
age: 32,
online: true
},
Sarah: {
age: 48,
online: true
},
Ryan: {
age: 19,
online: true
}
};
function isEveryoneHere(obj) {
if (
obj.hasOwnProperty("Alan") &&
obj.hasOwnProperty("Jeff") &&
obj.hasOwnProperty("Sarah") &&
obj.hasOwnProperty("Ryan")
) {
2018-10-12 15:37:13 -04:00
return true;
}
return false;
}
```
2018-10-12 15:37:13 -04:00
#### Code Explanation
2018-10-12 15:37:13 -04:00
* Checks whether object contains all users by using the `hasOwnProperty` method for each name with the `&&` operator to return a `true` or `false` value.
</details>
<details><summary>Solution 2 (Click to Show/Hide)</summary>
2018-10-12 15:37:13 -04:00
```javascript
let users = {
Alan: {
age: 27,
online: true
},
Jeff: {
age: 32,
online: true
},
Sarah: {
age: 48,
online: true
},
Ryan: {
age: 19,
online: true
}
};
2018-10-12 15:37:13 -04:00
function isEveryoneHere(obj) {
return ["Alan", "Jeff", "Sarah", "Ryan"].every(name =>
obj.hasOwnProperty(name)
);
2018-10-12 15:37:13 -04:00
}
```
#### Code Explanation
* Uses an array with all of the names which should be present in the object.
* The `every` method is used to validate all of names used in conjunction with the `hasOwnProperty` method result in a value of `true` being returned during each iteration.
* If at least one name is not found using the `hasOwnProperty` method, the `every` method returns `false`.
#### Relevant Links
* [Array.prototype.every](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)
</details>