Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Tracking Data Using Objects Accessing All of the Properties in an Object

Amanda Poetker
seal-mask
.a{fill-rule:evenodd;}techdegree
Amanda Poetker
Full Stack JavaScript Techdegree Student 5,963 Points

When I test this code in workspace it is logging all the property names in the object to the console, but not passing.

The code is working outside of this test, so I may be understanding the instructions incorrectly. When tested I get:

population longitude latitude country

all logged to the console.

script.js
var shanghai = {
  population: 14.35e6,
  longitude: '31.2000 N',
  latitude: '121.5000 E',
  country: 'CHN'
};

for (prop in shanghai) {
  console.log(prop);
}
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Objects</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

1 Answer

I copy/pasted your code and received: Bummer: It's a good idea to use the var keyword in a for in loop like this: `for (var key in shanghai). Doing as the error suggests passed task 1.

var shanghai = {
  population: 14.35e6,
  longitude: '31.2000 N',
  latitude: '121.5000 E',
  country: 'CHN'
};

for (var prop in shanghai) {
  console.log(prop);
}