Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
¿Por qué la comparación de valores de matriz solo coincide con el valor de objeto ingresado más recientemente?

En el fragmento a continuación, si ingreso un valor en el cuadro de texto, se supone que debe devolver algo. es decir; ingresar 'PA' devuelve 'Pennsylvania'. Pero si ingreso 'AZ', devuelve mi declaración else.

¿Cómo cambio esto para que verifique el valor con cualquier valor ingresado y muestre el resultado correctamente?

 const states = [ { abbreviated: 'AZ', state: 'Arizona' }, { abbreviated: 'PA', state: 'Pennsylvania' } ]; function searchState() { let txt = searchTxt.value; for (var i = 0; i < states.length; i++) { var abbreviatedState = states[i]; if (txt == abbreviatedState.abbreviated) { output.textContent = abbreviatedState.state; } else { output.textContent = 'Uh, oh! We don\'t know that one!'; } } } document.querySelector('.search').addEventListener("click", ()=>searchState());
 <input name="searchTxt" type="text" id="searchTxt" class="searchField" placeholder="State Abbreviation?"/> <button class="search">Search</button> <h4>State Of: <span id="output"></span></h4>

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Ejecute el bucle hasta el final y solo asigne Uh oh si no se encuentra nada. Para facilitar la lógica, use .find en lugar de un bucle for.

 const states = [ { abbreviated: 'AZ', state: 'Arizona' }, { abbreviated: 'PA', state: 'Pennsylvania' } ]; function searchState() { const txt = searchTxt.value; const foundState = states.find(state => state.abbreviated === txt); output.textContent = foundState ? foundState.state : 'Uh, oh! We don\'t know that one!' } document.querySelector('.search').addEventListener("click", ()=>searchState());
 <input name="searchTxt" type="text" id="searchTxt" class="searchField" placeholder="State Abbreviation?"/> <button class="search">Search</button> <h4>State Of: <span id="output"></span></h4>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su código entra en el bloque else incluso si entra en if una vez. He refactorizado el código para establecer "uh oh" como el valor predeterminado, solo busca if y break una vez encontrado.

 const states = [{ abbreviated: 'AZ', state: 'Arizona' }, { abbreviated: 'PA', state: 'Pennsylvania' }]; function searchState() { let txt = searchTxt.value; output.textContent = 'Uh, oh! We don\'t know that one!'; for (var i = 0; i < states.length; i++) { var abbreviatedState = states[i]; if (txt == abbreviatedState.abbreviated) { output.textContent = abbreviatedState.state; break; } } } document.querySelector('.search').addEventListener("click", () => searchState());
 <input name="searchTxt" type="text" id="searchTxt" class="searchField" placeholder="State Abbreviation?" /> <button class="search">Search</button> <h4>State Of: <span id="output"></span></h4>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Porque continúa buscando el evento después de que se encuentra el estado AZ y pasa a else tarde.

 const states = [{ abbreviated: 'AZ', state: 'Arizona' }, { abbreviated: 'PA', state: 'Pennsylvania' }]; function searchState() { let txt = searchTxt.value; console.log(txt); const output = document.querySelector('#output'); for (var i = 0; i < states.length; i++) { var abbreviatedState = states[i]; if (txt == abbreviatedState.abbreviated) { output.textContent = abbreviatedState.state; break; } else { output.textContent = 'Uh, oh! We don\'t know that one!'; } } } document.querySelector('.search').addEventListener("click", () => searchState());
 <input name="searchTxt" type="text" id="searchTxt" class="searchField" placeholder="State Abbreviation?" /> <button class="search">Search</button> <h4>State Of: <span id="output"></span></h4>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda