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 Access and Set Object Properties

How to add a new property to this Object model?

having some problems trying to get the code correct

script.js
var newYork = {
  population: 100, 
  latitude: '40.7127 N',
  longitude: '74.0059 W',
  population: 8.406e6,
  country.newYork = 'USA';
};
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

Hey man, so in these challenges the question asks you not to change the original object declaration. It seems you've done that here with population and are trying to do the same with country. You can edit any property of an object using dot notation or bracket notation outside of original declaration. Thus, there can be two solutions here:

1.

var newYork = {
  population: 100, 
  latitude: '40.7127 N',
  longitude: '74.0059 W'
};

newYork.population = 8.406e6;
newYork.country = "USA";

2.

var newYork = {
  population: 100, 
  latitude: '40.7127 N',
  longitude: '74.0059 W'
};

newYork["population"] = 8.406e6;
newYork["country"] = "USA";

Xander Morrison is correct. In this question, dot notation would be the cleanest and simplest way to update the variable's value.

var newYork = { population: 100, latitude: '40.7127 N', longitude: '74.0059 W' };

newYork.population = 8.406e6;