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

153
Visualizações
¿Cómo verificar la entrada del usuario para todos los valores posibles?

Escribí este código JavaScript donde definí una matriz y tomé la entrada del usuario y luego comparé la entrada y el valor de una matriz. Al verificar con éxito, la URL se concatenará con la entrada correcta del usuario, pero si el usuario proporciona una entrada incorrecta, que no está dentro de la matriz, ejecutará la parte else de la instrucción if – else . El código es exitoso hasta la inicialización de i = 0 , pero luego no funciona para los otros valores que no sean la posición 0 y siempre va a la parte else . ¿Qué estoy haciendo mal?

 var myStringArray = [ "youth", "robinson", "volvo", "bmw" ]; var arrayLength = myStringArray.length; var url = "https://abcd.com/"; var company = prompt("Input your company Code to login"); for (var i = 0; i < arrayLength; i++) { var name = myStringArray[i]; if (name == company) { window.open(url.concat(company)); } else { alert("Company Code is wrong Try again from login"); } break; }

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Solo puede saber si la entrada no está en la matriz cuando ha mirado toda la matriz . Por lo tanto, no debe alertar dentro del ciclo, ni break de él en la primera iteración. Solo alerta cuando el bucle se ha completado sin encontrar la entrada.

 var myStringArray = ['youth', 'robinson', 'volvo', 'bmw']; var arrayLength = myStringArray.length; var url = "https://abcd.com/"; var company = prompt("Input your company Code to login"); for (var i = 0; i < arrayLength; i++) { var name = myStringArray[i]; if (name == company) break; } if (name == company) { window.open(url.concat(company)); } else { alert("Company Code is wrong Try again from login"); }

Tenga en cuenta que hay métodos útiles en JavaScript para este tipo de búsqueda de matrices, como includes . Además, es más común usar el operador + para concatenar cadenas:

 var myStringArray = ['youth', 'robinson', 'volvo', 'bmw']; var url = "https://abcd.com/"; var company = prompt("Input your company Code to login"); if (myStringArray.includes(company)) { window.open(url + company); } else { alert("Company Code is wrong Try again from login"); }
about 4 years ago · Juan Pablo Isaza Relatório

0

No debe interrumpir el bucle hasta que el bucle complete su ejecución. Debe eliminar la lógica de bloque else fuera del bucle.

Lo que está sucediendo en su caso es que cuando su ciclo encuentra un valor que no coincide en la matriz, se ejecuta la instrucción else y la instrucción break se ejecutará inmediatamente después de eso. Puede romper el bucle cuando se encuentra una combinación coincidente. De lo contrario, el ciclo debería continuar la ejecución.

violín de trabajo

 var myStringArray = ['youth', 'robinson', 'volvo', 'bmw']; var arrayLength = myStringArray.length; var url = "https://abcd.com/"; var company = prompt("Input your company Code to login"); let isFound = false; for (var i = 0; i < arrayLength; i++) { var name = myStringArray[i]; if (name == company) { isFound = true; window.open(url.concat(company)); break; } } if (!isFound) { alert("Company Code is wrong Try again from login"); }

También puede utilizar Array.find para el mismo procedimiento.

 var myStringArray = ['youth', 'robinson', 'volvo', 'bmw']; var url = "https://abcd.com/"; var company = prompt("Input your company Code to login"); let selectedCompany = myStringArray.find(item => item === company); if (selectedCompany) { window.open(url.concat(selectedCompany)); } else { alert("Company Code is wrong Try again from login"); }

about 4 years ago · Juan Pablo Isaza Relatório

0

break; hace que salte fuera del bucle. Está utilizando break; fuera de condición, por lo que el ciclo for se detiene después de la primera ronda de todos modos. Todo lo que necesita es eliminar el break; o agregar break; dentro de si o si no condición como usted necesita.

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