Al ejecutar la función, la consola registra el resultado esperado seguido de "Indefinido" directamente debajo y no puedo entender por qué. Estoy empezando a aprender javascript, así que estoy seguro de que esto será fácil de resolver, pero no lo veo en este momento.
userInput = userInput.toLowerCase(); if(userInput !== 'rock' && userInput !== 'paper' && userInput !== 'scissors') console.log('Inocrrect choice, please try again'); return userInput; } const getComputerChoice = () => { let computerChoice = Math.floor(Math.random()*3); switch(computerChoice){ case 0: return 'rock'; break; case 1: return 'paper'; break; case 2: return 'scissors'; break; } } const determineWinner = (userChoice, computerChoice) => { if(userChoice === computerChoice) { console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you tied!`); } else if(userChoice === 'rock'){ if(computerChoice === 'scissors'){ console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you won!`); } else { console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you lost!`); } } else if(userChoice === 'paper'){ if(computerChoice === 'rock'){ console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you won!`); } else { console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you lost!`); } } else if(userChoice === 'scissors'){ if(computerChoice === 'paper'){ console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you won!`); } else { console.log(`You chose ${userChoice} and the computer chose ${computerChoice}, you lost!`); } } } const playGame = userInput => { const userChoice = getUserChoice(userInput); const computerChoice = getComputerChoice(); console.log(determineWinner(userChoice,computerChoice)); } playGame('rock');