Code is returning wrong response


#1



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


I'm very confused. I never saw anywhere in the instructions where I was supposed to make "undefinded" as a return for an unlisted response (i.e. scissors and paper). I'm sure there's something I'm not seeing. I just don't know what.

"Oops, try again. Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper"


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 {
        return "paper wins";
    }
}
}
compare(userChoice, computerChoice)


#2

@austinc93,
Who wins when
choice1 is scissors
and
choice2 is paper

Please read
http://www.codecademy.com/forum_questions/559dcb4be39efe550f00006b
and concentrate on the truth-table

  • the creation of the compare function
  • the truth-table
  • the build of the IF ELSE-IF statement structure as part of the compare FUNCTION-BODY
  • the execution of the compare function (keeping in mind that the return statement is used )