I am learning JavaScript and I just wrote a Rock, Paper, Scissors game that will first prompt the two players for their choices and validate them. In the event of a tie, each player will choose their answer again and it will once again be validated. Everything works fine, but it feels like I have a lot of repetition going on here. Since I'm new to this, I can't figure out a way to make this more concise if possible.var compare = function(choice1, choice2){    while (choice1 != 'rock' && choice1 != 'paper' && choice1 != scissors){        choice1 = prompt('Invalid entry. Player 1, please choose rock, paper, or scissors only');    }        while (choice2 != 'rock' && choice2 != 'paper' && choice2 != scissors){        choice2 = prompt('Invalid entry. Player 2, please choose rock, paper, or scissors only');    }    while (choice1 == choice2){        choice1 = prompt('Tiebreaker!. Player 1, please choose rock, paper, or scissors only');     while (choice1 != 'rock' && choice1 != 'paper' && choice1 != scissors){        choice1 = prompt('Invalid Entry. Player 1, please choose rock, paper, or scissors only');        }        choice2 = prompt('Tiebreaker!. Player 2, please choose rock, paper, or scissors only');     while (choice2 != 'rock' && choice2 != 'paper' && choice2 != scissors){        choice2 = prompt('Invalid Entry. Player 2, please choose rock, paper, or scissors only');        }    }    if (choice1 == 'rock'){        if (choice2 == 'scissors'){            return 'rock wins';        }        else{            return 'paper wins';        }    }    if (choice1 == 'paper'){        if (choice2 == 'rock'){            return 'paper wins';        }        else{            return 'scissors wins';        }    }      if (choice1 == 'scissors' ){        if (choice2 == 'rock'){            return 'rock wins';        }        else{            return 'scissors wins';        }    }}
Is there a way to make my Rock, Paper, Scissors game more concise?
javascript;beginner;game;rock paper scissors
Just build an object with the associativity.// what wins to whatvar winsTo = {  'rock': 'scissors',  'paper': 'rock',  'scissors': 'paper',};// invalid selectedif (!(choice1 in winsTo && choice2 in winsTo)) {  alert(bad choice !);  return;}// same choice => equalityif (choice1 == choice2) {  alert(Equality!);} else if (winsTo[choice1] == choice2) {  alert(choice1 won!);} else {  alert(choice2 won!);}