Golf Code - Eagle issues

Hi,
I have checked my code multiple times, but when I attempt to log out for “Eagle,” the console message is “undefined.” Any thoughts on why this is the case?

  **My code so far**

const 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 <= -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 if (strokes >= par + 3) {
return names[6]
}
// Only change code above this line
}

console.log(golfScore(5, 2));





      **Your browser information:**

User Agent is: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36</code>

**Challenge:**  Golf Code

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

So "Eagle", the second element in the array doesn’t happen. Let’s look at your code:

else if (strokes <= -2) { // <== this fails
return names[1]
} else if (strokes == par - 1) { //<== this works
return names[2]

Do you see a difference in those two lines? In particular, is something missing in the failing line?

Oh my gosh, thank you, Snowmonkey! It needed to be “strokes <= par - 2”.

Grazie for taking the time to review my code!

1 Like