I still stuck since yesterday....have rewritten several times...not sure what's going wrong


#1

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

SyntaxError: Unexpected token else

Replace this line with your code. 

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"
        }
    }
    }
   console.log( compare(userChoice,computerChoice) );


#2

When would an else be expected? The error message is suggesting that you've got an else in a situation that is different from that. There aren't that many else's, so you can check them all by eyeball.
You can also run the code in another interpreter (your browser, some online interpreter, or if you install nodejs locally) to get a line number with the error messages which would tell you which else it is about.
Another thing you can do is to make sure that your indentation matches the braces, as that would make this mistake more obvious.


#3

I had the same problem. Here's the code that worked for me:

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 === "paper") {
return "scissors wins"
}
else {
return "rock wins"
}
}

}
compare(userChoice, computerChoice)


PS: Sorry if my code's a little messy to read; I'm still new to JavaScript, and this is the first time I've replied on here.


#4

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