Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Loops, Arrays and Objects Tracking Multiple Items with Arrays Iterating through an Array

Aaron Hasbrouck
Aaron Hasbrouck
1,295 Points

I don't understand what I'm doing wrong

Hi, I'm really not understanding why I'm getting an error for my array being listed out of order.

script.js
var temperatures = [100,90,99,80,70,65,30,10];
var i
function printList( list ){
  var listHTML = '<ol>';
for ( i = 0; i < temperatures.length; i += 1){
  listHTML += '<li>' + list[i] + '</li>';
  }
  listHTML += '</ol>';

}
console.log(i);
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
Andrew Elliott
Andrew Elliott
3,306 Points

Your problem is that you are doing your loop in an improper way. Here's what it should look like this:

script.js
var temperatures = [100,90,99,80,70,65,30,10];
var i
function printList( list ){
  var listHTML = '<ol>';
  for (temp in temperatures){
    listHTML += '<li>' + temp + '</li>';
  }
  listHTML += '</ol>';
}
console.log(i);
// ^^ I think that should be right. Correct me if i'm wrong. I am unable to test it.

1 Answer

Benjamin Larson
Benjamin Larson
34,055 Points

You have a lot more going on in your code than the challenge is really looking for in terms of the printList function and printing HTML list items. These should be removed otherwise the challenge will fail.

The for loop declaration is good, although you could condense things by declaring the i variable inside of it. You'll need to move your console.log function inside the for loop in order for it to traverse each of the values in the array. Finally, console.log(i) will only log the index. You need to log the value of the temperature array at that index, so give that a shot.

for (var i = 0; i < temperatures.length; i += 1) {
  // add console.log() here
}