2018-09-30 23:01:58 +01:00
---
id: 567af2437cbaa8c51670a16c
title: Testing Objects for Properties
challengeType: 1
2019-02-14 12:24:02 -05:00
videoUrl: 'https://scrimba.com/c/cm8Q7Ua'
2019-07-31 11:32:23 -07:00
forumTopicId: 18324
2018-09-30 23:01:58 +01:00
---
## Description
< section id = 'description' >
Sometimes it is useful to check if the property of a given object exists or not. We can use the < code > .hasOwnProperty(propname)< / code > method of objects to determine if that object has the given property name. < code > .hasOwnProperty()< / code > returns < code > true< / code > or < code > false< / code > if the property is found or not.
< strong > Example< / strong >
2019-05-17 06:20:30 -07:00
```js
var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top"); // true
myObj.hasOwnProperty("middle"); // false
```
2018-09-30 23:01:58 +01:00
< / section >
## Instructions
< section id = 'instructions' >
Modify the function < code > checkObj< / code > to test < code > myObj< / code > for < code > checkProp< / code > . If the property is found, return that property's value. If not, return < code > "Not Found"< / code > .
< / section >
## Tests
< section id = 'tests' >
```yml
2018-10-04 14:37:37 +01:00
tests:
- text: < code > checkObj("gift")</ code > should return < code > "pony"</ code > .
2019-07-13 00:07:53 -07:00
testString: assert(checkObj("gift") === "pony");
2018-10-04 14:37:37 +01:00
- text: < code > checkObj("pet")</ code > should return < code > "kitten"</ code > .
2019-07-13 00:07:53 -07:00
testString: assert(checkObj("pet") === "kitten");
2018-10-04 14:37:37 +01:00
- text: < code > checkObj("house")</ code > should return < code > "Not Found"</ code > .
2019-07-13 00:07:53 -07:00
testString: assert(checkObj("house") === "Not Found");
2018-09-30 23:01:58 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
// Setup
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
2020-03-08 07:46:28 -07:00
// Only change code below this line
2018-09-30 23:01:58 +01:00
return "Change Me!";
2020-03-08 07:46:28 -07:00
// Only change code above this line
2018-09-30 23:01:58 +01:00
}
checkObj("gift");
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
if(myObj.hasOwnProperty(checkProp)) {
return myObj[checkProp];
} else {
return "Not Found";
}
}
```
< / section >