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

Jaimin Patel
Jaimin Patel
9,020 Points

Idk why but this code is not working for Refractor using a loop challenge.

Idk why but this code is not working and I'm getting really frustrated that I have tried all of the loops I have learned and it is still not working. Someone please help me with this,

script.js
var counter = 0;

while ( counter >= 12 ) {
  var multiplication = 1;
  var number = math.floor( 2 * multiplication)
  multiplication += 1;
  console.log( number )
  counter += 1;
}
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

2 Answers

Some comments

  • counter initially is 0. Your condition to run your while loop is counter >= 12 so the loop never runs.
  • Each time through the loop you reset multiplication = 1 so the value of number logged will always be 2.
  • Since counter starts at 0 if you include 12 by using a condition of counter <= 12 your loop will run 13 times. This means you would log 2 to 26 instead of 2 to 24 as asked

You could simplify your code as follows:

var counter = 1;

while ( counter <= 12 ) {
  console.log(2 * counter);
  counter += 1;
}

Or use a for loop

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