Files

83 lines
1.6 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
### Basic Solution:
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
}
};
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.
2018-10-12 15:37:13 -04:00
### Advanced Solution:
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)