JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Refactor Using a Loop

Christopher Anderson
Christopher Anderson
1,594 Points

what is the syntax error

I am suppose to write a for loop therefore I can eliminate the 24 console.log statements but this code is not passing what is the problem.

script.js
for (let i = 0; i < 24; i+=2) {
 console.log(i);
}





/*console.log(2);
console.log(4);
console.log(6);
console.log(8);
console.log(10);
console.log(12);
console.log(14);
console.log(16);
console.log(18);
console.log(20);
console.log(22);
console.log(24);*/
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

3 Answers

David McNeill
David McNeill
44,417 Points

Hey Christopher,

It looks like the code challenge may not accept the use of 'let' as a keyword, it expects 'var' instead. It might be an older JS course before ES2015 terms like 'let' or 'const' would have been acceptable as answers. So you haven't done anything wrong! The course might just need updating, certainly the more recent JS courses use ES2015 syntax a lot more.

Just FYI, you should also initialise your counter variable at 2, not 0. The challenge is expecting the first log value to be 2.

Good luck!

Brendan Whiting
MOD
Brendan Whiting
Front End Web Development Treehouse Moderator 84,062 Points

It seems the challenge is using an older version of javascript. Try using var instead of let.

Steven Parker
Steven Parker
171,373 Points

There's no syntax error from the standpoint of ES2015, but this challenge validator apparently does not recognize the newer keywords. Try using "var" instead of "let".

You also need modify your range a bit. The challenge wants you to log "the even numbers from 2 to 24".

Regarding the "let/var" issue, you might want to submit a bug report about it to the Support folks.