Golf Code - run tests not working so I can't test

Tell us what’s happening:

Is this correct? Because Run Tests is not working so I can’t test it.

Your code so far


var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
function golfScore(par, strokes) {
  // Only change code below this line
  
  if (strokes = 1){
    return names[0];
  }

  else if (strokes <= par - 2){
    return names[1];
  }

  else if (strokes == to par - 1){
    return names [2];
  }

  else if (strokes == par){
    return names[3];
  }

  else if (strokes == par + 1){
    return names[4];
  }

  else if (strokes == par + 3){
    return names[5];
  }

  else{
    return names[6];
  }
  // Only change code above this line
}

// Change these values to test
golfScore(5, 4);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/golf-code/

I can see an error here. What is to par-1?

Doh! Thank you! I updated Chrome and the Run tests seem to be working now.

I am having the same issue.

When I paste my code into Chrome’s console it provides the correct output but I am stuck on this page

var names = [“Hole-in-one!”, “Eagle”, “Birdie”, “Par”, “Bogey”, “Double Bogey”, “Go Home!”];
function golfScore(par, strokes) {
// Only change code below this line
if (strokes == 1){
return names[0];
} else if (strokes <= par -2) {
return names[1];
} else if (strokes = par -1) {
return names[2];
} else if (strokes = par) {
return names[3];
} else if (strokes = par +1) {
return names[4];
} else if (strokes = par +2) {
return names[5];
} else {
return names[6];
}
// Only change code above this line
}

// Change these values to test
golfScore(3, 1);

After the first two stroke checks in your code, you’re reinitializing strokes instead of comparing it. Fix that and I think it should work.

Thank you for your reply, but I do not understand your answer. What do you mean by

“you’re reinitializing strokes instead of comparing it” .

I also don’t understand why the code works elsewhere but not here.

To decide what string to return, the number of strokes of the player needs to be compared to the par or a certain number of strokes above or below par. After the first two comparisons in your code, you’re using “=” instead of “==” which reinitializes the value of strokes to whatever is on the right instead of comparing it to whatever’s on the right. Reinitializing a value and checking it in an if statement always returns true to my knowledge.
In other words, your code will never execute past “return names[ 2 ]” because the if statement for that is reinitializing strokes and always returning true.
Let me know if that helps.

1 Like

Yes that solved it thank you. I appreciate your guidance