Syntax Error: Unexpected token {


#1

Hi everyone,

my code seems to have a syntax error with a curly brace on 'what if choice1 is scissors?'

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(choice1 === "scissors") {
        if(choice2 === "rock") {
     return "rock wins";
     }
        else(choice2 === "paper"){
        return "scissors wins";
     }
        
    }
};
console.log(compare(userChoice, computerChoice);

I can't seem to find out where that is..


#2

An else statement doesn't take a condition.


#3

I just changed the last few lines like you suggested:

   else if(choice1 === "scissors") {
        if(choice2 === "rock") {
     return "rock wins";
     }
        else {
        return "scissors wins";
        }
    }   
    
};
console.log(compare(userChoice, computerChoice));

And it worked! Thanks!


#4

Glad it worked out :slight_smile:

I've also seen people use this as their code block for the last option:

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


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.