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

Manpreet Singh
Manpreet Singh
13,014 Points

unable to run for in loop

Please help me to complete this task

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>

2 Answers

Jawann Carmona
Jawann Carmona
19,556 Points

I had to use the var keyword when declaring the loop. So your answer should look like the answer below. This passed the challenge.

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

for ( var key in shanghai) {
  console.log(key)
}
Justin Radcliffe
Justin Radcliffe
18,987 Points

Hi Manpreet,

For your code to work in step 1 you just need to add the var keyword before your prop value:

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