Golf Code Solution

Golf Code Solution
0

#1

Tell us what’s happening:
Hey folks,
I thought I would try something a little different and use the array in my solution. Is that something that is not a good idea? The idea was to save a little typing, but I don’t think its worth the trouble at this point. Any helpful hints?

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 == par -1) {
    return names[2];
  } else if (strokes == par + 0) {
    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(5, 4);

Your browser information:

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

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


#2

Please use a [spoiler]...[/spoiler] block to mask solutions, so people don’t accidentally see an answer they would rather avoid.

As for your solution, don’t confuse strokes = 1 with strokes === 1 (the first is assignment, the second is comparison).

Using the array is fine, but you may want to ask yourself whether it is better to have shorter code you can type marginally faster, or more readable code that will make more sense to a team mate or your future self.

There is no right answer, but it’s a worthwhile question :slight_smile:


#3

Sorry about not providing a spoiler alert. I’m pretty new to the forum. Thanks for your advice and help on this. I will try to play around with this and see if I can come up with something more readable and logical.