Golf Code partially working

Tell us what’s happening:
My function successfully returns:
“Hole-in-one!”, “Eagle” and “Birdie”
with errors for the others.
What am I missing?
I can’t pick up anything missing in my parameters or syntax.
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 "Hole-in-one!";
  }
  else if (strokes<=par-2){
    return "Eagle";
  }
  else if (strokes=par-1){
    return "Birdie";
  }
  else if (strokes==par){
    return "Par";
  }
  else if (strokes== par +1){
    return "Bogey";
  }
  else if (strokes==par+2){
    return "Double Bogey";
  }
  else if (strokes >= par+3){

  return "Go Home!";
  // Only change code above this line
}
}

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

Your browser information:

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

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

I recommend never to use == and to always use ===.

But as suggested above me,. it’s important to know the differences.

1 Like