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 trialIan Valentine
5,396 PointsAccessing object properties
Why is my code for this exercise not working? The question is:
Now that you are 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: 1435e6"
Any ideas?
var shanghai = {
population: 14.35e6,
longitude: '31.2000 N',
latitude: '121.5000 E',
country: 'CHN'
};
for (var prop in shanghai) {
console.log(shanghai[prop.name] + ": " + shanghai[prop]);
};
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Objects</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
1 Answer
Mindy Sandilands
15,743 PointsIt looks like the for-in loop may be causing your problems. Try this for the for-in loop:
for (var prop in shanghai) { console.log (prop, ': ', shanghai[prop]); }
This will have the for in loop print out each prop name (population, longitude, latitude,country) and the associated prop value for the object shanghai (14.35e6,31.2000N, 121.5000E, and CHN). The loop will cycle through the property names for the object Shanghai automatically and you do not need to call this out again within the for loop. That is taken care when you declare the variable key in object (for (var prop in shanghai).
Hope this helps, Mindy
Ian Valentine
5,396 PointsGot it — this worked and makes sense. Thanks very much!
Ian Valentine
5,396 PointsIan Valentine
5,396 PointsI just found a related question with a working solution. Still not sure why my solution doesn't work though.