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

help me out

please help so that the code below logs 4 times to the console

script.js
var shanghai = {
  population: 14.35e6,
  longitude: '31.2000 N',
  latitude: '121.5000 E',
  country: 'CHN'
};
for(var key in shanghai){
  console.log(key);
  console.log(var, ': ',shanghai["var"],
              shanghai["var"],
              shanghai["var"], 
              shanghai["var"] );

}
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

Julian Gutierrez
Julian Gutierrez
19,201 Points

You can include all the necessary code in one console.log statement

for(var key in shanghai){
  console.log(key + ": " + shanghai[key]); 
}

when i write the code u gave me, its writing Oops !it looks like task 1 is no longer passing

Julian Gutierrez
Julian Gutierrez
19,201 Points

Seems to work on my end. Maybe using commas in the console.log statement is what it's asking for.

for(var key in shanghai){
  console.log(key, ": " , shanghai[key]); 
}
Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 91,253 Points

Hi Maxwell,

You don't need to explicitly print them with 4 console logs.

You use the for each loop to print one statement that loops through each of the properties in your shanghai object.

By referencing the key in the foreach loop using an array literal your single console.log will display all the values to console.

As below. Give it a go and good luck. :-)

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

for(var key in shanghai){
  console.log([key]);
  }

thanks, what about : logging out the property names, include the property values too. In other words you want to log out 4 lines that include both the property name and value. For example: "population: 14.35e6"