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

158
Vistas
¿Cómo buscar elementos en las propiedades de la matriz?

Estoy tratando de hacer un sitio web simple (sin CSS3) para buscar elementos en una matriz. Mi forma de lograr este objetivo es buscar en las propiedades 'título' o 'desc' de un elemento en la matriz. Mi resultado esperado es obtener titleOfItem + 'fizz' en la consola si el título incluye la palabra clave de la entrada. En su lugar, me sale el siguiente error: imagen de la consola y error

Aquí está mi código HTML5:

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>replit</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <input id="keywordText" type="text"> <button id="submit" onclick="search()">Search</button> <script src="script.js"></script> </body> </html>

y Aquí está mi código JS:

 const items = { john:{title:'john', desc:"doe", elem:document.getElementById('john')}, jane:{title:'jane', desc:"doe", elem:document.getElementById('jane')} } let allItems = [] for (var key in items) { allItems.push(items[key]) } function search() { let keyword = document.getElementById('keywordText').value; for (let count = 0; allItems.length; count++) { let titleOfItem = allItems[count].title if (titleOfItem.includes(keyword)) { console.log(titleOfItem + ' fizz') } else { console.log(titleOfItem + ' buzz') } } }

¿Hay algo que estoy haciendo mal en este código? Además, para fines de organización, ¿hay alguna forma de obtener esta información directamente desde la primera matriz?

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

0

for (let count = 0; count < allItems.length; count++) { }

Está recibiendo el error porque no especificó cuánto tiempo continuará el valor de conteo en el bucle for. Puede solucionar el problema actualizando el código de esta manera.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Probablemente te perdiste la condición en el bucle for. Cambia tu código a este:

for (let count = 0; count < allItems.length; count++)

about 4 years ago · Juan Pablo Isaza Denunciar

0

La razón es porque el título no está definido. Eso podría deberse a que el título no se copió correctamente en su código o porque atravesó la matriz a fuera de los límites donde el título no es accesible y no está definido.

Arregla esta parte:

 for (let count = 0; count < allItems.length; count++) { let titleOfItem = allItems[count].title if (titleOfItem.includes(keyword)) { console.log(titleOfItem + ' fizz') } else { console.log(titleOfItem + ' buzz') } }

Eso debería hacerlo, pero si no, verifique el valor de allItems para ver si tiene propiedades todo el tiempo

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