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 Simplify Repetitive Tasks with Loops Refactor Using a Loop

Fametta McClain
Fametta McClain
9,910 Points

Refactor using a loop

I am having difficulty with this challenge. The loop looks correct to me but I'm not understanding what could be missing. When I run it, it says Bummer! Try again!.

script.js
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);

for (i = 2; i <= 24; i * 2) {
  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>

3 Answers

Nicholas Grenwalt
Nicholas Grenwalt
46,626 Points

First off, delete all the console.log methods from the top. They are unnecessary. Next, your code seems to be headed in the right direction structure wise with your for loop but for your counter it should be i = i +2 or in shorthand i+=2 rather than times 2 because times two won't get all the even numbers (2,4,8,16, etc.). Fix that and the rest looks good.

Just another helpful note, where you have i * 2 right now, if that was what you wanted for solving a different problem in the future it would need to be set as i = i * 2 or i*=2 so that it will capture the current value of i, multiply it by two and then store it as the value for the i variable.

Keep up the coding. :)

Fametta McClain
Fametta McClain
9,910 Points

I tried that. Now I get Bummer! There was an error with your code: SyntaxError: Parse error. This almost seems like an impossible challenge!

You have i*2. You need i+2. The former would give you 2, 4, 8, 16.

for (i = 2; i <= 24; i += 2) { console.log(i) }