2018-09-30 23:01:58 +01:00
---
id: 56533eb9ac21ba0edf2244cc
title: Accessing Nested Objects
challengeType: 1
2018-10-08 11:00:20 -04:00
guideUrl: 'https://www.freecodecamp.org/guide/certificates/accessing-nested-objects-in-json'
2018-09-30 23:01:58 +01:00
---
## Description
< section id = 'description' >
The sub-properties of objects can be accessed by chaining together the dot or bracket notation.
Here is a nested object:
< blockquote > var ourStorage = {< br > "desk": {< br > "drawer": "stapler"< br > },< br > "cabinet": {< br > "top drawer": { < br > "folder1": "a file",< br > "folder2": "secrets"< br > },< br > "bottom drawer": "soda"< br > }< br > };< br > ourStorage.cabinet["top drawer"].folder2; // "secrets"< br > ourStorage.desk.drawer; // "stapler"< / blockquote >
< / section >
## Instructions
< section id = 'instructions' >
Access the < code > myStorage< / code > object and assign the contents of the < code > glove box< / code > property to the < code > gloveBoxContents< / code > variable. Use bracket notation for properties with a space in their name.
< / section >
## Tests
< section id = 'tests' >
```yml
2018-10-04 14:37:37 +01:00
tests:
- text: < code > gloveBoxContents</ code > should equal "maps"
2018-10-20 21:02:47 +03:00
testString: assert(gloveBoxContents === "maps", '< code > gloveBoxContents< / code > should equal "maps"');
2018-10-04 14:37:37 +01:00
- text: Use dot and bracket notation to access < code > myStorage</ code >
2018-10-20 21:02:47 +03:00
testString: assert(/=\s*myStorage\.car\.inside\[\s*("|')glove box\1\s*\]/g.test(code), 'Use dot and bracket notation to access < code > myStorage</ code > ');
2018-09-30 23:01:58 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
// Setup
var myStorage = {
"car": {
"inside": {
"glove box": "maps",
"passenger seat": "crumbs"
},
"outside": {
"trunk": "jack"
}
}
};
var gloveBoxContents = undefined; // Change this line
```
< / div >
### After Test
< div id = 'js-teardown' >
```js
2018-10-20 21:02:47 +03:00
(function(x) {
if(typeof x != 'undefined') {
return "gloveBoxContents = " + x;
}
return "gloveBoxContents is undefined";
})(gloveBoxContents);
2018-09-30 23:01:58 +01:00
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
2018-10-08 01:01:53 +01:00
var myStorage = {
"car":{
"inside":{
2018-09-30 23:01:58 +01:00
"glove box":"maps",
"passenger seat":"crumbs"
},
2018-10-08 01:01:53 +01:00
"outside":{
2018-09-30 23:01:58 +01:00
"trunk":"jack"
}
}
};
var gloveBoxContents = myStorage.car.inside["glove box"];
```
< / section >