--- id: 5664820f61c48e80c9fa476c title: Golf Code challengeType: 1 --- ## Description
In the game of golf each hole has a par meaning the average number of strokes a golfer is expected to make in order to sink the ball in a hole to complete the play. Depending on how far above or below par your strokes are, there is a different nickname. Your function will be passed par and strokes arguments. Return the correct string according to this table which lists the strokes in order of priority; top (highest) to bottom (lowest):
StrokesReturn
1"Hole-in-one!"
<= par - 2"Eagle"
par - 1"Birdie"
par"Par"
par + 1"Bogey"
par + 2"Double Bogey"
>= par + 3"Go Home!"
par and strokes will always be numeric and positive. We have added an array of all the names for your convenience.
## Instructions
## Tests
```yml tests: - text: 'golfScore(4, 1) should return "Hole-in-one!"' testString: 'assert(golfScore(4, 1) === "Hole-in-one!", "golfScore(4, 1) should return "Hole-in-one!"");' - text: 'golfScore(4, 2) should return "Eagle"' testString: 'assert(golfScore(4, 2) === "Eagle", "golfScore(4, 2) should return "Eagle"");' - text: 'golfScore(5, 2) should return "Eagle"' testString: 'assert(golfScore(5, 2) === "Eagle", "golfScore(5, 2) should return "Eagle"");' - text: 'golfScore(4, 3) should return "Birdie"' testString: 'assert(golfScore(4, 3) === "Birdie", "golfScore(4, 3) should return "Birdie"");' - text: 'golfScore(4, 4) should return "Par"' testString: 'assert(golfScore(4, 4) === "Par", "golfScore(4, 4) should return "Par"");' - text: 'golfScore(1, 1) should return "Hole-in-one!"' testString: 'assert(golfScore(1, 1) === "Hole-in-one!", "golfScore(1, 1) should return "Hole-in-one!"");' - text: 'golfScore(5, 5) should return "Par"' testString: 'assert(golfScore(5, 5) === "Par", "golfScore(5, 5) should return "Par"");' - text: 'golfScore(4, 5) should return "Bogey"' testString: 'assert(golfScore(4, 5) === "Bogey", "golfScore(4, 5) should return "Bogey"");' - text: 'golfScore(4, 6) should return "Double Bogey"' testString: 'assert(golfScore(4, 6) === "Double Bogey", "golfScore(4, 6) should return "Double Bogey"");' - text: 'golfScore(4, 7) should return "Go Home!"' testString: 'assert(golfScore(4, 7) === "Go Home!", "golfScore(4, 7) should return "Go Home!"");' - text: 'golfScore(5, 9) should return "Go Home!"' testString: 'assert(golfScore(5, 9) === "Go Home!", "golfScore(5, 9) should return "Go Home!"");' ```
## Challenge Seed
```js var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"]; function golfScore(par, strokes) { // Only change code below this line return "Change Me"; // Only change code above this line } // Change these values to test golfScore(5, 4); ```
## Solution
```js function golfScore(par, strokes) { if (strokes === 1) { return "Hole-in-one!"; } if (strokes <= par - 2) { return "Eagle"; } if (strokes === par - 1) { return "Birdie"; } if (strokes === par) { return "Par"; } if (strokes === par + 1) { return "Bogey"; } if(strokes === par + 2) { return "Double Bogey"; } return "Go Home!"; } ```