Need help on golf code

Tell us what’s happening:

   **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 {0};
 } else if (strokes <= par - 2) {
   return {1};
 } else if (strokes == par - 1) {
   return {2};
 } else if (strokes == par) {
   return {3};
 } else if (strokes == par + 1) {
   return {4};
 } else if (strokes == par + 2) {
   return {5};
 } else {
   return {6};
 }
 // Only change code above this line
}

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

   **Your browser information:**

User Agent is: Mozilla/5.0 (X11; CrOS x86_64 13421.89.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36.

Challenge: Golf Code

Link to the challenge:

What help do you need?

What do you think you are returning when you write {0} ?

if ( strokes == 1) {
return {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
}

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

Can you describe, in words, what is happening? What tests are failing?

What do you think you are returning when you write [0]?

The verification guideline section does not tell me any mistakes I am making, so I do not know what I am doing wrong

The [0] indicates the number of strokes

Actually, [0] is an array with one element (the number zero). You need to be returning a string value instead of an array with a number as its only element. It seems as if you are wanting to reference the index of an array, but are missing the array name itself.

1 Like

I do not understand what you are talking about

I retried the golf code and it is mentioning that the golfScore of “Hole-in-one” should return to the string

// these values may look similar,
// but they are actually quite different

var myString = "0"; // this is a string
var myNumber = 0;   // this is a number
var myArray = [0];  // this is an array

console.log(myString === myNumber); // false
console.log(myString === myArray); // false
console.log(myNumber === myArray); // false

If you changed your code, please share your changed code.