Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

136
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!