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 Multiple Items with Arrays Iterating through an Array

Joseph Spirito
Joseph Spirito
11,007 Points

Unexpected Token?

I am trying to log the array with a loop. What I'm lost on is why the "<" is an "unexpected token".

script.js
var temperatures = [100,90,99,80,70,65,30,10];
for (var i = 0, i < temperatures.length, i += 1) {
  var weather = temperatures.shift();
  console.log(weather);
}
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

1 Answer

Michael Hulet
Michael Hulet
47,912 Points

The proper separator inside a for loop is a semicolon (;), not a comma (,). There are a few scenarios when JavaScript could interpret a stray comma as valid, but in no scenario will there be a comparison afterward, so the first place where the interpreter realizes something is wrong is when it sees a comparison operator, so that's why it's telling you that's the out-of-place token. If you change the commas (,) in your for loop to semicolons (;), your code should run just fine