8. What if choice1 is scissors? SyntaxError: Unexpected token else


#1


https://www.codecademy.com/en/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661


I keep getting "SyntaxError: Unexpected token else" when I run my code. I am assuming it's a missing bracket, but I can't find one that is missing/excessive.


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
	computerChoice = "rock";
} else if(computerChoice <= 0.67) {
	computerChoice = "paper";
} else {
	computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
    if (choice1 === choice2) {
        return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "rock wins";
        }
    }
        else {
            return "paper wins";
        }
    else if (choice1 === "paper") {
        if (choice2 === "rock") {
            return "paper wins";
        }
        else {
            return "scissors wins";
        }
    }
    else if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return "rock wins";
        }
        else (choice2 === "paper") {
            return "scissors wins";
        }
    }
    else if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return "rock wins";
        }
        else {
            return "scissors wins";
        }
    }
};
console.log(compare(userChoice, computerChoice));


#2

Hi mmogaver,

I think one of your code block should be like below.

 else if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "rock wins";
        }
    
        else {
            return "paper wins";
        }
}

#3

Ah good catch! Thanks!

But now with that fixed I get "SyntaxError: Unexpected token {".

Is there some kind of method I should be using?


#4

Could you please post your updated code?


#5

 else if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return "rock wins";
        }
        else (choice2 === "paper") {
            return "scissors wins";
        }
    }

In the above block you have written a condition for else too. You don't have to write condition with else block.


#6

That was it! I knew I was doing something incorrectly. Thank you!


#7