Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

162
Visualizações
El problema de JavaScript for loop afecta el conteo de conjeturas

así que estoy tratando de construir un juego del ahorcado de JavaScript y tengo un problema con mi función checkMatch. lo que estoy tratando de lograr es que verifique con la matriz hiddenChoice y solo ejecute el código en la declaración else if si this.id no está en la matriz en absoluto. actualmente, si hiddenChoice = apple y this.id = l devolverá 'adivinar de nuevo' 3 veces antes de devolver que 'encontraste una letra' cuando llega a l, lo que afecta mi conteo de conjeturas. Todos los registros de la consola están allí para que pudiera averiguar qué estaba pasando. gracias por la ayuda.

 function checkMatch(){ console.log(hiddenChoice) for (let k = 0; k < hiddenChoice.length; k++){ if (this.id === hiddenChoice[k]){ console.log('you found a letter') console.log(this.id) greenColor = this.id green(greenColor) right++ console.log(right) return } else if (this.id != hiddenChoice[k]) { console.log('guess again') console.log(guesses) console.log(this.id) redColor = this.id red(redColor) guesses-- } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El else no debería estar dentro del bucle, porque aún no puede saber si alguno de los siguientes caracteres coincidiría. Solo cuando el ciclo ha terminado, sabes que ninguna de las letras coincide.

Asi que:

 function checkMatch(){ console.log(hiddenChoice) for (let k = 0; k < hiddenChoice.length; k++){ if (this.id === hiddenChoice[k]){ console.log('you found a letter') console.log(this.id) greenColor = this.id green(greenColor) right++ console.log(right) return } } console.log('guess again') console.log(guesses) console.log(this.id) redColor = this.id red(redColor) guesses-- }

Algunas otras observaciones:

  • Su código usa varias variables que no están declaradas, o al menos globales. Esto debe evitarse. Declare variables temporales (como greenColor ?) como variables locales (por ejemplo, con let ).

  • Termina tus declaraciones con un punto y coma. JavaScript hace esto automáticamente cuando usted no lo hace, usando algunas reglas, pero no quiere que eso suceda ya que hay algunas trampas.

  • No está claro qué es this . Sería mejor si se pasara id como argumento a la función.

  • Su código no funcionará como se espera si una única suposición tiene múltiples coincidencias. Trate de pensar cómo podría manejar eso (como ejercicio).

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda